qemu: Move recipe version specific patches and features to recipe

Move all the version specific patches, overrides and configuration that
are in qemu.inc to the versioned QEMU recipe.

This includes moving patches that target the versioned recipe, ptest
configuration (which is not available in QEMU by default) and the
installing of the powerpc_rom.bin.  All these patches/files are also
only located in the FILESEXTRAPATHS that is valid from the recipe file
and not from qemu.inc itself.

The purpose of this change is to make the qemu.inc re-usable for
multiple versions of QEMU as well as forks and recipes that intend to
provide custom patches.

(From OE-Core rev: 2431faeb88a008b501547808fb8632943b992dcb)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Nathan Rossi
2017-01-02 17:17:56 +10:00
committed by Richard Purdie
parent ed25789bc0
commit 27fbd839d4
2 changed files with 31 additions and 30 deletions

View File

@@ -3,29 +3,14 @@ HOMEPAGE = "http://qemu.org"
LICENSE = "GPLv2 & LGPLv2.1"
DEPENDS = "glib-2.0 zlib pixman"
RDEPENDS_${PN}_class-target += "bash"
RDEPENDS_${PN}-ptest = "bash make"
require qemu-targets.inc
inherit autotools pkgconfig ptest bluetooth
inherit autotools pkgconfig bluetooth
BBCLASSEXTEND = "native nativesdk"
# QEMU_TARGETS is overridable variable
QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
SRC_URI = "\
file://powerpc_rom.bin \
file://disable-grabs.patch \
file://exclude-some-arm-EABI-obsolete-syscalls.patch \
file://wacom.patch \
file://add-ptest-in-makefile.patch \
file://run-ptest \
"
SRC_URI_append_class-native = "\
file://fix-libcap-header-issue-on-some-distro.patch \
file://cpus.c-qemu_cpu_kick_thread_debugging.patch \
"
EXTRA_OECONF = " \
--prefix=${prefix} \
--bindir=${bindir} \
@@ -70,22 +55,9 @@ do_configure() {
test ! -e ${S}/target-i386/beginend_funcs.sh || chmod a+x ${S}/target-i386/beginend_funcs.sh
}
do_compile_ptest() {
make buildtest-TESTS
}
do_install_ptest() {
cp -rL ${B}/tests ${D}${PTEST_PATH}
find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {}
cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests
}
do_install () {
export STRIP="true"
autotools_do_install
install -d ${D}${datadir}/qemu
install -m 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
}
# The following fragment will create a wrapper for qemu-mips user emulation

View File

@@ -1,9 +1,20 @@
require qemu.inc
inherit ptest
RDEPENDS_${PN}-ptest = "bash make"
LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
SRC_URI += "file://configure-fix-Darwin-target-detection.patch \
SRC_URI += " \
file://powerpc_rom.bin \
file://disable-grabs.patch \
file://exclude-some-arm-EABI-obsolete-syscalls.patch \
file://wacom.patch \
file://add-ptest-in-makefile.patch \
file://run-ptest \
file://configure-fix-Darwin-target-detection.patch \
file://qemu-enlarge-env-entry-size.patch \
file://no-valgrind.patch \
file://pathlimit.patch \
@@ -19,6 +30,11 @@ SRC_URI += " \
file://0004-Add-support-for-VM-suspend-resume-for-TPM-TIS.patch \
"
SRC_URI_append_class-native = " \
file://fix-libcap-header-issue-on-some-distro.patch \
file://cpus.c-qemu_cpu_kick_thread_debugging.patch \
"
SRC_URI =+ "http://wiki.qemu-project.org/download/${BP}.tar.bz2"
SRC_URI[md5sum] = "17940dce063b6ce450a12e719a6c9c43"
@@ -30,4 +46,17 @@ COMPATIBLE_HOST_mipsarchn64 = "null"
do_install_append() {
# Prevent QA warnings about installed ${localstatedir}/run
if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
}
do_compile_ptest() {
make buildtest-TESTS
}
do_install_ptest() {
cp -rL ${B}/tests ${D}${PTEST_PATH}
find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {}
cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests
}