diff options
author | Matthias Maier <tamiko@gentoo.org> | 2014-12-21 15:39:40 +0000 |
---|---|---|
committer | Matthias Maier <tamiko@gentoo.org> | 2014-12-21 15:39:40 +0000 |
commit | a5a8e9a106834acf2d410e318d82772ec4377c47 (patch) | |
tree | e479947f88cedfd0c9fb20a72a936d741be62069 /app-emulation | |
parent | x11-libs/qwt: Version BUmp; fix location of pc files, #523490 (diff) | |
download | historical-a5a8e9a106834acf2d410e318d82772ec4377c47.tar.gz historical-a5a8e9a106834acf2d410e318d82772ec4377c47.tar.bz2 historical-a5a8e9a106834acf2d410e318d82772ec4377c47.zip |
drop vulnerable, bug #531666 (CVE-2014-8106)
Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0xBD3A97A3
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/qemu/ChangeLog | 5 | ||||
-rw-r--r-- | app-emulation/qemu/Manifest | 31 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-2.1.2-r1.ebuild | 602 |
3 files changed, 19 insertions, 619 deletions
diff --git a/app-emulation/qemu/ChangeLog b/app-emulation/qemu/ChangeLog index 24dd12c87b88..a46d675004b2 100644 --- a/app-emulation/qemu/ChangeLog +++ b/app-emulation/qemu/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for app-emulation/qemu # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/ChangeLog,v 1.310 2014/12/21 11:41:06 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/ChangeLog,v 1.311 2014/12/21 15:39:27 tamiko Exp $ + + 21 Dec 2014; Matthias Maier <tamiko@gentoo.org> -qemu-2.1.2-r1.ebuild: + drop vulnerable, bug #531666 (CVE-2014-8106) 21 Dec 2014; Agostino Sarubbo <ago@gentoo.org> qemu-2.1.2-r2.ebuild: Stable for x86, wrt bug #531666 diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 538132060ee7..fac299b5d13a 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -13,26 +13,25 @@ AUX qemu-kvm-1.4 68 SHA256 8b1adf198129f001e75a2311fc420c168094d1084d2163cdf6a32 DIST qemu-2.1.2-20141214.tar.xz 5580 SHA256 bbf0e23f03f7ec5582ae522a194c5908a1ed85d42bf859100c99280af1ff21d2 SHA512 ca9bb37400d59cedeb1a659cb445758138c18ceb28ae2de2beee50b7aba39b1edf8d7317d777aa44def7c96437b5d4c19874b52e48d0272cb7de1c5dcc77f6d7 WHIRLPOOL 6ea13fe7cfaaa103d6d6e43445bba97358fcb6b434bccb5018e48176f9d4b90ce2100ffb17cd555fc4b9ee3fe98c281a6702d5a875d8a04674e177fbe90acffa DIST qemu-2.1.2.tar.bz2 23563255 SHA256 fd10f5e45cf5a736fa5a3e1c279ae9821534e700beb7d1aab88a07648a394885 SHA512 73ef758c82b23eec649c807bee8937d7fbf267278f7777adbdb22b738672543b826d211a4b523f38cee3e2b01f05ccf40a75756fc19c911362988d8e86d5cd58 WHIRLPOOL 5703d0aa8bb4366bb7aeb44fa4f3d1b54f188de42cd8c82e894584f627802b80a3dde1aa3b15fe8602a1891ec61ac66b3cd44ec031385cca88768f375c15b554 DIST qemu-2.2.0.tar.bz2 24316697 SHA256 b68c9b6c7c694f5489b5a6bffe993cd976ffbb78e7d178eb3bc016caf460039c SHA512 c1a42cc53a01175875411cad13defaab46f97740897b89f19fbf345106534f83fc707fae4a58d890f64eea475b940b934c7531a6ed04aa01f54cadb52b0b5909 WHIRLPOOL a9cb92406d4f2cfd6b7989c9876f7df4b305083241110e7b2bf16642cfd77531c48a48753745dfeb31b9aa7d71a2d4d3f8c5aba797918c9c60e920c79066ea2d -EBUILD qemu-2.1.2-r1.ebuild 18449 SHA256 1d71f2f313eb684ec50b47715c89acdd9cd8c57da62051ca0002ed820a703cc7 SHA512 c2bac37373f3ce521ce1052cea732f5cf784d92642a6bfd1c951cb9277d34823943419eb00492af16fc3a2ad134d82c85a3d1c92eb9614da30dd941c345afb45 WHIRLPOOL 71702c1065ca9254303a2282d4bae14274f9d1abbf2e7b8d663571c87cfe38659c13cd154366260f6a5d455d874d2f5c4f03e75cb74d5ce2ea4661a61b4e3a0a EBUILD qemu-2.1.2-r2.ebuild 18462 SHA256 2e61066c06ef1a7cdc8eb7e3581babf9d6fab79c5e9edc64db2e4c2b0b8ab04c SHA512 71f8ea5bec4bfba342b17b5a3671acf6da68f1e7f15843b4cd81b6701ccf04dbffa8da8a4ee71092b52f6aedf4c7bdfc6656946d21e1f0178acd3b10c1d389a0 WHIRLPOOL ce08bc0ecdc140d4c1894952ba5e3c79109d4968bed51dbb3157f05f9533a55cb23a35e8be1c1a7d2dc8834654f936ae0a19521c626fc44002347f585edec8cc EBUILD qemu-2.2.0.ebuild 18329 SHA256 8b2fd82f445b0c0ed20cea325e0f12f66325ae1f9bf53113691cd1ba70d3337e SHA512 f3df603ff4a794729583fbd3a5c4a36a93aabab6293cc808507fd89a37952308733755704d186626e16ddbba3dc0bd30144ed7dcbc72310b3a6c612c5e9b8fb7 WHIRLPOOL ffe5868fe39739bfd6de07f45ccf31da954de948aecd43324a8e380d8996e1e2e641349dabc2968bb0257cffbc485297c27d657b8fa87217f86d7e3d85c7bdce EBUILD qemu-9999.ebuild 18328 SHA256 4dfa3fb8bc8735e4e41bcf0b51c0d2546d6fb10e31801fce337930b586d544cf SHA512 3dfb14e40d98a7486fe78d21ca43ffa96f011d996ef142d7544c94b71997fd088c564a06aa21fbde2cedc2a2f71f3e0ab31fbf23bcbee48c322293939ed1f37f WHIRLPOOL a113c363e5704081439a83ae66ea569e9f6222e8442edfd2cf374f5a66403826da7f9d4b1290104029d2e1c7d19a82a01cd7eba8f03169168a80541d5cf9c929 -MISC ChangeLog 51167 SHA256 5db44b9842ffea0b36eb156349c717dd0dad3ae4f0f563e82431e4ee1cd4c4ae SHA512 ba1eba863ca8fe8d306317ca286558f18fe57ed9079125a0e195db515d27e55897b618f7a5e875f16835f8dfe768b8f8ea019f20c87316cbe86aa62cbd1a3d47 WHIRLPOOL e8441cb31047eab52400671763008073670b63e24aeee807bf12eb73131ee510913f034aa363b53922e6a34b1bb8b357fdeb8c7155f6037df4c8250e29780368 +MISC ChangeLog 51291 SHA256 797c1264840a9f7b5dfd55a680ab078e23ded86d0c9e694b528e320e16228e93 SHA512 b86185dd7e601cdf20723165237f1a39983a176162edac36394ac018cc4865a7170c289b68226932e9203e55dea4c0aea25fd73cb584308b4757b88872f9078b WHIRLPOOL ea91fee29b8991abf021ea12e754792b90f12a19023737c6a5998c6abce3cc2f43195dcb4fcf63a5f52b42a90483e019414ab34c84850b066635aafbc33239df MISC metadata.xml 3753 SHA256 563697c83183ffb06eaa5afad9cc0451ee3f7723e96b774b46fd7419e0bb83b9 SHA512 ee43d928f97dedc66bd95aad5577ac39a463b0a00573b0096ed9dba5096fa071160815c3372b2ea43cd9b20031fdd298cde0d12fc55c2b6af0eb5da379a7f248 WHIRLPOOL bc9b94a2130fd8f5eb80bb4660d506c155207c347a06294835845e5fcc5811c4923f97f792cc699c0a678fb0327b5e5debee8b07097a2640c600c1111675e926 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2 +Version: GnuPG v2.1 -iQIcBAEBCAAGBQJUlrHTAAoJELp701BxlEWf9hwP/1jrcq1LIsUoTFsPwTh4z/rE -bzm0QpMWr+AXCfw2bPYKLNkhq26qvOXvYLDypCLfNbCvh4k2BKNlZ8jU3IC3FJy7 -FA70VYTuotYOck+i/NAINX9oPQs5KCJMQMI6zS8Lcv0IGC6/FKV+33EE2+jPmJO3 -GwpRw+NSFrWTHGtOwNoR0oNe00/WipaqwrCfwM0CUfYLMaH18Sbc4ca/y1++Mwe0 -yi840PRWVoNXQ+e8x/cVnr7KdEDOSQos0Uf/TUJMlItCJdYvvbfYahF1ugQEG1FP -k6tJqwAMaoaAwvCuwPKNPRhUwyLh37RzAn19FSsCRbn+7MR9IfVvL0tPSLuy2SwN -cZjXkgRKBKFJY6OF68f6Ah4PGtk5bzFgdp5pC0dPSRTFF/tHpMvJ8MD4Q2Q6KpLD -cgnXdo73E/U0b5JCfV+WrWXcF1t1+Owq3Dj2AFNzr1CEAMjfg78fBNmbkSVvgQDA -q5CS+ttnHq2vx9ukhckeSFOXz+dhC5BcN8iU3e4QwJXS1qEHSowFZUwduJCIgOAz -xq7ndtg/6/XIULj/n9OzpYlMW1BpohFqkVRMmWM+7h26hchFB+g5tB5z9oBH3kCS -D9LqCskV0qlpKTIADUbKN7t3H6eZSTfo4CzXtlUH+aG/IczGQFGU1/T3fkQmM1Dt -x2nnq1UUlIeV/HKCsgox -=HIAw +iQIcBAEBCAAGBQJUlumwAAoJELhOzYlK7nn/n9sQAI66AyFJ1b5k8THYyiV1xZMn +fjX3bIlB1rIbxz07rtpUtLXQ3s/7lWP9hH32XlM2Ji+D+S3+pKVzsOL49ECuWGxb +f9EWmHUiyLJMY5WhjQKa1Z7GOW9iJK22arzC7rk/C/Hm4ZASJdKy9m9vgjvPUprg +NxuOjKOXdEesuEI3Wpk2L4Pv5RhgUo2bRPR9M4Jnybu5VgNsRvyZXPSofZv0bno0 +2UOSAx6C2IK7IijNujOr5sYcCcMXqSZINzGd3Jr7IRKtLPBTFFoILq5PH96A13f2 +GHycnk0SoV6JTY4cuDYWUYU0XTnJfxE2+0HQ44ftdJkiju9IoaGR8ZPcScFCaCGl +Quwv6IV3cAVHGbeBflYKZ82sszT1ss+Q+wj5bS38og70zJsTHgYQ49xlfAlNeinW +iKe4JMQ0WeNFP/LKaN3GaqzZGp0fZzKJklQgeL+LAVbHGO5Ei6aSRZznaoHdXXrK +OFk1fKk1/Gmi/rbME2sJ+7+UsoNkaooutQxn4nXsTG3pVr8SdV+m2qwGF1OMvRnf +DbUmOUmwCL1mNGTNguFtZG0pb5fd4lenp/c3taTgPlLsxQ8O0g2LmD8IbFQTrVFZ +aJj10tuL36t4Ml+56/jI4G+kwClkRMNt2FYrGQ+ijN43emXvm7Jl6O+aYy2H2+4B ++dFxaL/WgPDDHT0eTXa/ +=t0l7 -----END PGP SIGNATURE----- diff --git a/app-emulation/qemu/qemu-2.1.2-r1.ebuild b/app-emulation/qemu/qemu-2.1.2-r1.ebuild deleted file mode 100644 index b532ee7233e7..000000000000 --- a/app-emulation/qemu/qemu-2.1.2-r1.ebuild +++ /dev/null @@ -1,602 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-2.1.2-r1.ebuild,v 1.5 2014/12/11 14:17:09 mgorny Exp $ - -EAPI=5 - -PYTHON_COMPAT=( python{2_6,2_7} ) -PYTHON_REQ_USE="ncurses,readline" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo pax-utils - -BACKPORTS= - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="git://git.qemu.org/qemu.git" - inherit git-2 - SRC_URI="" - KEYWORDS="" -else - SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2 - ${BACKPORTS:+ - http://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}" - KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" -IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \ -gtk infiniband iscsi +jpeg \ -kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs -+png pulseaudio python \ -rbd sasl +seccomp sdl selinux smartcard snappy spice ssh static static-softmmu \ -static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \ -virtfs +vnc xattr xen xfs" - -COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips -mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32 -x86_64" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb" -IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus" - -use_targets=" - $(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) - $(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -" -IUSE+=" ${use_targets}" - -# Require at least one softmmu or user target. -# Block USE flag configurations known to not work. -REQUIRED_USE="|| ( ${use_targets} ) - ${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - static? ( static-softmmu static-user ) - static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk ) - virtfs? ( xattr )" - -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the extranl library. -COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - xattr? ( sys-apps/attr[static-libs(+)] )" -SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} - >=x11-libs/pixman-0.28.0[static-libs(+)] - aio? ( dev-libs/libaio[static-libs(+)] ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - infiniband? ( sys-infiniband/librdmacm[static-libs(+)] ) - jpeg? ( virtual/jpeg[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( sys-libs/ncurses[static-libs(+)] ) - nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - png? ( media-libs/libpng[static-libs(+)] ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( >=media-libs/libsdl-1.2.11[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - snappy? ( app-arch/snappy[static-libs(+)] ) - spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] ) - ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - tls? ( net-libs/gnutls[static-libs(+)] ) - usb? ( >=dev-libs/libusb-1.0.18[static-libs(+)] ) - uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" -USER_LIB_DEPEND="${COMMON_LIB_DEPEND}" -X86_FIRMWARE_DEPEND=" - >=sys-firmware/ipxe-1.0.0_p20130624 - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.7.5 - ~sys-firmware/sgabios-0.1_pre8 - ~sys-firmware/vgabios-0.7a - ) - !pin-upstream-blobs? ( - sys-firmware/seabios - sys-firmware/sgabios - sys-firmware/vgabios - )" -CDEPEND="!static-softmmu? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) - !static-user? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - accessibility? ( app-accessibility/brltty ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bluetooth? ( net-wireless/bluez ) - gtk? ( - x11-libs/gtk+:3 - x11-libs/vte:2.90 - ) - iscsi? ( net-libs/libiscsi ) - opengl? ( virtual/opengl ) - pulseaudio? ( media-sound/pulseaudio ) - python? ( ${PYTHON_DEPS} ) - sdl? ( media-libs/libsdl[X] ) - smartcard? ( dev-libs/nss !app-emulation/libcacard ) - spice? ( >=app-emulation/spice-protocol-0.12.3 ) - systemtap? ( dev-util/systemtap ) - usbredir? ( >=sys-apps/usbredir-0.6 ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools )" -DEPEND="${CDEPEND} - dev-lang/perl - =dev-lang/python-2* - sys-apps/texinfo - virtual/pkgconfig - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - gtk? ( nls? ( sys-devel/gettext ) ) - static-softmmu? ( ${SOFTMMU_LIB_DEPEND} ) - static-user? ( ${USER_LIB_DEPEND} ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-qemu ) -" - -STRIP_MASK="/usr/share/qemu/palcode-clipper" - -QA_PREBUILT=" - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD="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-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or32 - 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 - usr/bin/qemu-s390x - usr/bin/qemu-unicore32" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure -you have the kernel module loaded before running kvm. The easiest way to -ensure that the kernel module is loaded is to load it on boot.\n -For AMD CPUs the module is called 'kvm-amd'\n -For Intel CPUs the module is called 'kvm-intel'\n -Please review /etc/conf.d/modules for how to load these\n\n -Make sure your user is in the 'kvm' group\n -Just run 'gpasswd -a <USER> kvm', then have <USER> re-login." - -qemu_support_kvm() { - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \ - use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \ - use qemu_softmmu_targets_s390x; then - return 0 - fi - - return 1 -} - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requres a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL" - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -pkg_setup() { - enewgroup kvm 78 -} - -src_prepare() { - # Alter target makefiles to accept CFLAGS set via flag-o - sed -i -r \ - -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ - Makefile Makefile.target || die - - # Cheap hack to disable gettext .mo generation. - use nls || rm -f po/*.po - - epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch - epatch "${FILESDIR}"/${PN}-2.1.1-readlink-self.patch - epatch "${FILESDIR}"/${PN}-2.1.2-vnc-sanitize-bits.patch #527088 - [[ -n ${BACKPORTS} ]] && \ - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ - epatch - - # Fix ld and objcopy being called directly - tc-export AR LD OBJCOPY - - # Verbose builds - MAKEOPTS+=" V=1" - - epatch_user -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir=$2 - local static_flag="static-${buildtype}" - - # audio options - local audio_opts="oss" - use alsa && audio_opts="alsa,${audio_opts}" - use sdl && audio_opts="sdl,${audio_opts}" - use pulseaudio && audio_opts="pa,${audio_opts}" - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --libdir=/usr/$(get_libdir) - --docdir=/usr/share/doc/${PF}/html - --disable-bsd-user - --disable-guest-agent - --disable-strip - --disable-werror - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - --enable-docs - $(use_enable tci tcg-interpreter) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets as the default configure - # options will autoprobe and try to link in a bunch of unused junk. - conf_softmmu() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - $(conf_softmmu accessibility brlapi) - $(conf_softmmu aio linux-aio) - $(conf_softmmu bluetooth bluez) - $(conf_softmmu caps cap-ng) - $(conf_softmmu curl) - $(conf_softmmu fdt) - $(conf_softmmu glusterfs) - $(conf_softmmu gtk) - $(conf_softmmu infiniband rdma) - $(conf_softmmu iscsi libiscsi) - $(conf_softmmu jpeg vnc-jpeg) - $(conf_softmmu kernel_linux kvm) - $(conf_softmmu lzo) - $(conf_softmmu ncurses curses) - $(conf_softmmu nfs libnfs) - $(conf_softmmu numa) - $(conf_softmmu opengl glx) - $(conf_softmmu png vnc-png) - $(conf_softmmu rbd) - $(conf_softmmu sasl vnc-sasl) - $(conf_softmmu sdl) - $(conf_softmmu seccomp) - $(conf_softmmu smartcard smartcard-nss) - $(conf_softmmu snappy) - $(conf_softmmu spice) - $(conf_softmmu ssh libssh2) - $(conf_softmmu tls quorum) - $(conf_softmmu tls vnc-tls) - $(conf_softmmu tls vnc-ws) - $(conf_softmmu usb libusb) - $(conf_softmmu usbredir usb-redir) - $(conf_softmmu uuid) - $(conf_softmmu vde) - $(conf_softmmu vhost-net) - $(conf_softmmu virtfs) - $(conf_softmmu vnc) - $(conf_softmmu xen) - $(conf_softmmu xen xen-pci-passthrough) - $(conf_softmmu xfs xfsctl) - ) - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --target-list="${user_targets}" - --disable-blobs - --disable-tools - ) - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --target-list="${softmmu_targets}" - --with-system-pixman - --audio-drv-list="${audio_opts}" - ) - use gtk && conf_opts+=( --with-gtkabi=3.0 ) - ;; - esac - - # Add support for SystemTAP - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - gcc-specs-pie && conf_opts+=( --enable-pie ) - fi - - einfo "./configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" - - # FreeBSD's kernel does not support QEMU assigning/grabbing - # host USB devices yet - use kernel_FreeBSD && \ - sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak -} - -src_configure() { - local target - - python_export_best - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - [[ -n ${softmmu_targets} ]] && \ - einfo "Building the following softmmu targets: ${softmmu_targets}" - - [[ -n ${user_targets} ]] && \ - einfo "Building the following user targets: ${user_targets}" - - if [[ -n ${softmmu_targets} ]]; then - mkdir "${S}/softmmu-build" - qemu_src_configure "softmmu" "${S}/softmmu-build" - fi - - if [[ -n ${user_targets} ]]; then - mkdir "${S}/user-build" - qemu_src_configure "user" "${S}/user-build" - fi -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - pax-mark m */qemu-system-* #515550 - emake -j1 check - emake -j1 check-report.html - fi -} - -qemu_python_install() { - python_domodule "${S}/scripts/qmp/qmp.py" - - python_doscript "${S}/scripts/kvm/kvm_stat" - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets - newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dohtml check-report.html - - if use kernel_linux; then - udev_dorules "${FILESDIR}"/65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}" - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - # Remove the docdir placed qmp-commands.txt - mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - dodoc docs/qmp/*.txt - - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - fi - - # Remove vgabios since we're using the vgabios packaged one - if [[ -n ${softmmu_targets} ]]; then - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin - dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../vgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - rm "${ED}/usr/share/qemu/sgabios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - rm "${ED}"/usr/share/qemu/pxe-*.rom - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - qemu_support_kvm && readme.gentoo_create_doc -} - -pkg_postinst() { - if qemu_support_kvm; then - readme.gentoo_print_elog - ewarn "Migration from qemu-kvm instances and loading qemu-kvm created" - ewarn "save states has been removed starting with the 1.6.2 release" - ewarn - ewarn "It is recommended that you migrate any VMs that may be running" - ewarn "on qemu-kvm to a host with a newer qemu and regenerate" - ewarn "any saved states with a newer qemu." - ewarn - ewarn "qemu-kvm was the primary qemu provider in Gentoo through 1.2.x" - - if use x86 || use amd64; then - ewarn - ewarn "The /usr/bin/kvm and /usr/bin/qemu-kvm wrappers are no longer" - ewarn "installed. In order to use kvm acceleration, pass the flag" - ewarn "-enable-kvm when running your system target." - fi - fi - - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/seabios)" - if has_version sys-firmware/seabios[binary]; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/vgabios)" -} |