mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 08:56:58 +02:00
remove(app-emulation/qemu-kvm): Remove ancient qemu version.
This commit is contained in:
parent
18e28643ac
commit
95b3dedcf1
@ -1 +0,0 @@
|
|||||||
DIST qemu-kvm-0.15.1.tar.gz 5915998 RMD160 dba914ca40d6c63e9f3abce409d7daee1d33323b SHA1 2716ddfc49d98fee67a1ff0de9b199d211e72bec SHA256 aed6a3faa76c1e9601b4b5b8adbe5867a70c64567175f44944d88e16bd49733e
|
|
@ -1,11 +0,0 @@
|
|||||||
--- qemu-0.11.0.orig/linux-user/main.c 2009-10-23 02:19:57.000000000 +0200
|
|
||||||
+++ qemu-0.11.0/linux-user/main.c 2009-10-23 02:47:09.000000000 +0200
|
|
||||||
@@ -1469,6 +1469,8 @@
|
|
||||||
|
|
||||||
#ifdef TARGET_MIPS
|
|
||||||
|
|
||||||
+#define TARGET_QEMU_ESIGRETURN 255
|
|
||||||
+
|
|
||||||
#define MIPS_SYS(name, args) args,
|
|
||||||
|
|
||||||
static const uint8_t mips_syscall_args[] = {
|
|
@ -1,2 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
exec /usr/bin/qemu-system-x86_64 --enable-kvm "$@"
|
|
@ -1,31 +0,0 @@
|
|||||||
--- qemu-kvm-0.15.1.orig/configure 2011-11-14 12:59:21.757440947 -0800
|
|
||||||
+++ qemu-kvm-0.15.1/configure 2011-11-14 13:08:44.094348302 -0800
|
|
||||||
@@ -561,6 +561,7 @@ for opt do
|
|
||||||
--static)
|
|
||||||
static="yes"
|
|
||||||
LDFLAGS="-static $LDFLAGS"
|
|
||||||
+ pkg_config="${pkg_config} --static"
|
|
||||||
;;
|
|
||||||
--mandir=*) mandir="$optarg"
|
|
||||||
;;
|
|
||||||
@@ -1403,9 +1404,11 @@ fi
|
|
||||||
if $pkg_config sdl --modversion >/dev/null 2>&1; then
|
|
||||||
sdlconfig="$pkg_config sdl"
|
|
||||||
_sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'`
|
|
||||||
+ _sdlconfig_type="pkg-config"
|
|
||||||
elif has ${sdl_config}; then
|
|
||||||
sdlconfig="$sdl_config"
|
|
||||||
_sdlversion=`$sdlconfig --version | sed 's/[^0-9]//g'`
|
|
||||||
+ _sdlconfig_type="sdl-config"
|
|
||||||
else
|
|
||||||
if test "$sdl" = "yes" ; then
|
|
||||||
feature_not_found "sdl"
|
|
||||||
@@ -1424,7 +1427,7 @@ if test "$sdl" != "no" ; then
|
|
||||||
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
|
|
||||||
EOF
|
|
||||||
sdl_cflags=`$sdlconfig --cflags 2> /dev/null`
|
|
||||||
- if test "$static" = "yes" ; then
|
|
||||||
+ if test "$static" = "yes" && test "$_sdlconfig_type" = "sdl-config"; then
|
|
||||||
sdl_libs=`$sdlconfig --static-libs 2>/dev/null`
|
|
||||||
else
|
|
||||||
sdl_libs=`$sdlconfig --libs 2> /dev/null`
|
|
@ -1,172 +0,0 @@
|
|||||||
From 754fd932bedacfd7de35cf74da6adca89ba28089 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Maydell <peter.maydell@linaro.org>
|
|
||||||
Date: Fri, 28 Oct 2011 10:52:40 +0100
|
|
||||||
Subject: [PATCH 1/3] qemu-tls.h: Add abstraction layer for TLS variables
|
|
||||||
|
|
||||||
Add an abstraction layer for defining and using thread-local
|
|
||||||
variables. For the moment this is implemented only for Linux,
|
|
||||||
which means they can only be used in restricted circumstances.
|
|
||||||
The abstraction layer allows us to add POSIX and Win32 support
|
|
||||||
later.
|
|
||||||
|
|
||||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
|
||||||
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
||||||
---
|
|
||||||
qemu-tls.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
1 files changed, 52 insertions(+), 0 deletions(-)
|
|
||||||
create mode 100644 qemu-tls.h
|
|
||||||
|
|
||||||
diff --git a/qemu-tls.h b/qemu-tls.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..5b70f10
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/qemu-tls.h
|
|
||||||
@@ -0,0 +1,52 @@
|
|
||||||
+/*
|
|
||||||
+ * Abstraction layer for defining and using TLS variables
|
|
||||||
+ *
|
|
||||||
+ * Copyright (c) 2011 Red Hat, Inc
|
|
||||||
+ * Copyright (c) 2011 Linaro Limited
|
|
||||||
+ *
|
|
||||||
+ * Authors:
|
|
||||||
+ * Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
+ * Peter Maydell <peter.maydell@linaro.org>
|
|
||||||
+ *
|
|
||||||
+ * This program is free software; you can redistribute it and/or
|
|
||||||
+ * modify it under the terms of the GNU General Public License as
|
|
||||||
+ * published by the Free Software Foundation; either version 2 of
|
|
||||||
+ * the License, or (at your option) any later version.
|
|
||||||
+ *
|
|
||||||
+ * This program is distributed in the hope that it will be useful,
|
|
||||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ * GNU General Public License for more details.
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU General Public License along
|
|
||||||
+ * with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifndef QEMU_TLS_H
|
|
||||||
+#define QEMU_TLS_H
|
|
||||||
+
|
|
||||||
+/* Per-thread variables. Note that we only have implementations
|
|
||||||
+ * which are really thread-local on Linux; the dummy implementations
|
|
||||||
+ * define plain global variables.
|
|
||||||
+ *
|
|
||||||
+ * This means that for the moment use should be restricted to
|
|
||||||
+ * per-VCPU variables, which are OK because:
|
|
||||||
+ * - the only -user mode supporting multiple VCPU threads is linux-user
|
|
||||||
+ * - TCG system mode is single-threaded regarding VCPUs
|
|
||||||
+ * - KVM system mode is multi-threaded but limited to Linux
|
|
||||||
+ *
|
|
||||||
+ * TODO: proper implementations via Win32 .tls sections and
|
|
||||||
+ * POSIX pthread_getspecific.
|
|
||||||
+ */
|
|
||||||
+#ifdef __linux__
|
|
||||||
+#define DECLARE_TLS(type, x) extern DEFINE_TLS(type, x)
|
|
||||||
+#define DEFINE_TLS(type, x) __thread __typeof__(type) tls__##x
|
|
||||||
+#define get_tls(x) tls__##x
|
|
||||||
+#else
|
|
||||||
+/* Dummy implementations which define plain global variables */
|
|
||||||
+#define DECLARE_TLS(type, x) extern DEFINE_TLS(type, x)
|
|
||||||
+#define DEFINE_TLS(type, x) __typeof__(type) tls__##x
|
|
||||||
+#define get_tls(x) tls__##x
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
--
|
|
||||||
1.7.3.1
|
|
||||||
|
|
||||||
|
|
||||||
From 8a5f7b03a0a711ec8e04aeebe339cdb8b876794b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
Date: Fri, 28 Oct 2011 10:52:41 +0100
|
|
||||||
Subject: [PATCH 2/3] darwin-user/main.c: Drop unused cpu_single_env definition
|
|
||||||
|
|
||||||
Drop the cpu_single_env definition as it is unused.
|
|
||||||
|
|
||||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
||||||
---
|
|
||||||
darwin-user/main.c | 2 --
|
|
||||||
1 files changed, 0 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/darwin-user/main.c b/darwin-user/main.c
|
|
||||||
index 1a881a0..c0f14f8 100644
|
|
||||||
--- a/darwin-user/main.c
|
|
||||||
+++ b/darwin-user/main.c
|
|
||||||
@@ -729,8 +729,6 @@ static void usage(void)
|
|
||||||
|
|
||||||
/* XXX: currently only used for async signals (see signal.c) */
|
|
||||||
CPUState *global_env;
|
|
||||||
-/* used only if single thread */
|
|
||||||
-CPUState *cpu_single_env = NULL;
|
|
||||||
|
|
||||||
/* used to free thread contexts */
|
|
||||||
TaskState *first_task_state;
|
|
||||||
--
|
|
||||||
1.7.3.1
|
|
||||||
|
|
||||||
|
|
||||||
From b3c4bbe56dc707102d3abd969f51bb2aa9c6c53d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
Date: Fri, 28 Oct 2011 10:52:42 +0100
|
|
||||||
Subject: [PATCH 3/3] Make cpu_single_env thread-local
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Make cpu_single_env thread-local. This fixes a regression
|
|
||||||
in handling of multi-threaded programs in linux-user mode
|
|
||||||
(bug 823902).
|
|
||||||
|
|
||||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
[Peter Maydell: rename tls_cpu_single_env to cpu_single_env]
|
|
||||||
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
|
||||||
Reviewed-by: Andreas Färber <afaerber@suse.de>
|
|
||||||
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
||||||
---
|
|
||||||
cpu-all.h | 4 +++-
|
|
||||||
exec.c | 2 +-
|
|
||||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cpu-all.h b/cpu-all.h
|
|
||||||
index 42a5fa0..5f47ab8 100644
|
|
||||||
--- a/cpu-all.h
|
|
||||||
+++ b/cpu-all.h
|
|
||||||
@@ -20,6 +20,7 @@
|
|
||||||
#define CPU_ALL_H
|
|
||||||
|
|
||||||
#include "qemu-common.h"
|
|
||||||
+#include "qemu-tls.h"
|
|
||||||
#include "cpu-common.h"
|
|
||||||
|
|
||||||
/* some important defines:
|
|
||||||
@@ -334,7 +335,8 @@ void cpu_dump_statistics(CPUState *env, FILE *f, fprintf_function cpu_fprintf,
|
|
||||||
void QEMU_NORETURN cpu_abort(CPUState *env, const char *fmt, ...)
|
|
||||||
GCC_FMT_ATTR(2, 3);
|
|
||||||
extern CPUState *first_cpu;
|
|
||||||
-extern CPUState *cpu_single_env;
|
|
||||||
+DECLARE_TLS(CPUState *,cpu_single_env);
|
|
||||||
+#define cpu_single_env get_tls(cpu_single_env)
|
|
||||||
|
|
||||||
/* Flags for use in ENV->INTERRUPT_PENDING.
|
|
||||||
|
|
||||||
diff --git a/exec.c b/exec.c
|
|
||||||
index 54ecbe7..6b92198 100644
|
|
||||||
--- a/exec.c
|
|
||||||
+++ b/exec.c
|
|
||||||
@@ -120,7 +120,7 @@ static MemoryRegion *system_io;
|
|
||||||
CPUState *first_cpu;
|
|
||||||
/* current CPU in the current thread. It is only valid inside
|
|
||||||
cpu_exec() */
|
|
||||||
-CPUState *cpu_single_env;
|
|
||||||
+DEFINE_TLS(CPUState *,cpu_single_env);
|
|
||||||
/* 0 = Do not count executed instructions.
|
|
||||||
1 = Precise instruction counting.
|
|
||||||
2 = Adaptive rate instruction counting. */
|
|
||||||
--
|
|
||||||
1.7.3.1
|
|
||||||
|
|
||||||
|
|
@ -1,316 +0,0 @@
|
|||||||
# 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-0.15.1-r1.ebuild,v 1.1 2011/10/25 17:08:01 cardoe 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
|
|
||||||
# Removed support for ncurses. crosbug 22309.
|
|
||||||
IUSE="+aio alsa bluetooth brltty curl debug esd fdt hardened jpeg nss \
|
|
||||||
png pulseaudio qemu-ifup rbd sasl sdl spice ssl static 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? (
|
|
||||||
static? ( dev-libs/libaio[static-libs] )
|
|
||||||
!static? ( 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 )
|
|
||||||
nss? ( dev-libs/nss )
|
|
||||||
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? (
|
|
||||||
static? ( >=media-libs/libsdl-1.2.11[X,static-libs] )
|
|
||||||
!static? ( >=media-libs/libsdl-1.2.11[X] )
|
|
||||||
)
|
|
||||||
spice? ( >=app-emulation/spice-0.6.0 )
|
|
||||||
ssl? ( net-libs/gnutls )
|
|
||||||
vde? ( net-misc/vde )
|
|
||||||
xattr? ( sys-apps/attr )
|
|
||||||
xen? ( app-emulation/xen )
|
|
||||||
"
|
|
||||||
#ncurses? ( sys-libs/ncurses )
|
|
||||||
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
app-text/texi2html
|
|
||||||
>=sys-kernel/linux-headers-2.6.35
|
|
||||||
ssl? ( dev-util/pkgconfig )
|
|
||||||
"
|
|
||||||
|
|
||||||
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_setup() {
|
|
||||||
if ! use qemu_softmmu_targets_x86_64 && use x86_64 ; 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
|
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
# Configuration for libsdl with static libs is broken.
|
|
||||||
epatch "${FILESDIR}/${P}-configure-static-sdl.patch"
|
|
||||||
|
|
||||||
# Backported patch from upstream 1.0 version.
|
|
||||||
epatch "${FILESDIR}/${PN}-fix_TLS_regression.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 user-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 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 /$(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_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
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user