summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu
Commit message (Collapse)AuthorAgeFilesLines
* qemu: Add patch to avoid qemuppc boot hangsRichard Purdie2017-12-042-0/+106
| | | | | | | | | | | | | qemuppc boots are occasionally hanging on the autobuilder. This adds a patch which fixes the issue in local testing. Its being discussed with upstream qemu. (From OE-Core rev: 8834117a1cbde26d0a36691a2e4635afaa3b6ea7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 87719e35db08b21cd43ab3ebd72f4567ca0fdc65) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Security fixesYi Zhao2017-09-225-0/+718
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix CVE-2017-13672, CVE-2017-13673, CVE-2017-13711, CVE-2017-14167 References: https://nvd.nist.gov/vuln/detail/CVE-2017-13672 https://nvd.nist.gov/vuln/detail/CVE-2017-13673 https://nvd.nist.gov/vuln/detail/CVE-2017-13711 https://nvd.nist.gov/vuln/detail/CVE-2017-14167 Patches from: CVE-2017-13672: https://git.qemu.org/?p=qemu.git;a=commit;h=3d90c6254863693a6b13d918d2b8682e08bbc681 CVE-2017-13673: https://git.qemu.org/?p=qemu.git;a=commit;h=e65294157d4b69393b3f819c99f4f647452b48e3 CVE-2017-13711: https://git.qemu.org/?p=qemu.git;a=commit;h=1201d308519f1e915866d7583d5136d03cc1d384 CVE-2017-14167: https://git.qemu.org/?p=qemu.git;a=commit;h=ed4f86e8b6eff8e600c69adee68c7cd34dd2cccb (From OE-Core rev: acc5036a6b74a76d719e6f7224a398f47df4a041) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: remove unused patchesYi Zhao2017-09-224-386/+0
| | | | | | | | | | | | | | | Remove the following patches since they are unused after qemu update to 2.10: 0001-replace-struct-ucontext-with-ucontext_t-type.patch CVE-2016-9908.patch CVE-2016-9912.patch configure-fix-Darwin-target-detection.patch (From OE-Core rev: d303f61e28b0ecc2352739a07680bfdeb3544080) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtools: qemu: Remove obsolete '--with-system-pixman' optionAlistair Francis2017-09-211-1/+0
| | | | | | | | | | | | | | | | | | QEMU version 2.11 will remove the pixman submodule. This means users are always required to supply pixman from the system if building softmmu support in QEMU. Without specifying a pixman configure option QEMU will default to using the system pixman if it is avaliable. In which case let's remove the config option as it is no longer supported in recent commits and is not required in older builds as the configure system defaults are already using system pixman. (From OE-Core rev: db1fc2ec360eb5dad1363634458ec4b56e7bbb9d) Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuwrapper-cross: Add HOMEPAGE info into recipe file.Huang Qiyu2017-09-211-0/+1
| | | | | | | | (From OE-Core rev: c0a1128a1f1fa2b86ba1cb97d9ff17f5a7a76e59) Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: upgrade to version 2.10.0Juro Bystricky2017-09-026-1008/+16
| | | | | | | | | | | Remove recipes for older versions. Remove patches no longer needed. Modify the patch "add-ptest-in-makefile.patch" for version 2.10.0 (From OE-Core rev: 22593f3dd95dd332d2f89429c7de2cb5a09aa3e9) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix upstream version checkAlexander Kanavin2017-08-271-0/+2
| | | | | | | (From OE-Core rev: 0f3074318adf80a9ba681f2318329dc2ae2a4bb8) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: backport patches to fix boot failureChen Qi2017-08-193-0/+214
| | | | | | | | | | | Backport two patches to fix the following error when booting qemu. Failed to unlock byte 100 (From OE-Core rev: 91eee8b08cd52f49bb1c8f8c680607b3f3a52d24) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: upgrade to 2.10-rc2Juro Bystricky2017-08-172-0/+774
| | | | | | | | | | In order to support Nios2 emulation by QEMU, we need at least QEMU version 2.9. (From OE-Core rev: f2d725d9268563f7bbcac770a34aceacb56cb2aa) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: apic: fallthrough to PICHe Zhe2017-08-132-0/+47
| | | | | | | | | | | | Backport a commit from qemu upstream to fix a protection fault https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html (From OE-Core rev: 88a4a872a7f22be52faa965bc05c57d8466e0eed) Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Improve handling for addto_recipe_sysrootRichard Purdie2017-07-311-1/+0
| | | | | | | | | | | Rather than requiring each user to handle this individually, handle addto_recipe_sysroot in the core class. As well as preserving the sysroot directory, this also ensures the stamp is preserved rather than rerunning the task every time as currently happens. (From OE-Core rev: bf8b9858d9ccce27173d13938a83d249294cc473) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Replace use of struct ucontext with ucontext_tKhem Raj2017-07-062-25/+286
| | | | | | | | (From OE-Core rev: 03b068881cc22d40c63bb23405b37ce9277460f1) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Add/fix missing Upstream-Status to patchesRichard Purdie2017-06-271-0/+2
| | | | | | | | | This adds or fixes the Upstream-Status for all remaining patches missing it in OE-Core. (From OE-Core rev: 563cab8e823c3fde8ae4785ceaf4d68a5d3e25df) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Upgrade to 2.8.1.1Aníbal Limón2017-05-252-51/+2
| | | | | | | | | | | | | | Removed patch target-ppc-fix-user-mode.patch [1] already on upstream. [1] http://git.qemu.org/?p=qemu.git;a=history;f=linux-user/main.c; h=65a769cf797254a86a7cf589d69e67595a9e1adb;hb=refs/heads/stable-2.8 (From OE-Core rev: 13f34c172dae842427365be3a891248a76104c28) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu-helper-native: prepare native sysroot for runqemubrian avery2017-04-131-0/+4
| | | | | | | | | | | | | | | | | Make sure that native sysroot contains qemu and tunctl binaries for runqemu usage: - excluded native sysroot from rm_work - added qemu-native to DEPENDS to put qemu binaries into native sysroot - forced addto_recipe_sysroot task [YOCTO #11266] [YOCTO #11193] (From OE-Core rev: 2e7a155774952705d21109720985f6833fba2669) Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: use python2.7 instead of python2Martin Kelly2017-04-101-1/+1
| | | | | | | | | | | | meta/conf/bitbake.conf puts python2.7 into the HOSTTOOLS variable but not python2, so only python2.7 is guaranteed. In addition, on some distros -- such as Amazon Linux -- /usr/bin/python2 doesn't exist but python2.7 does. So, use python2.7 for the --python= argument in the qemu configure step. (From OE-Core rev: 88dc8b532817f4779b35422a413d5c700c130a74) Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Remove uuid PACKAGECONFIGJussi Kukkonen2017-03-161-2/+1
| | | | | | | | | | --enable-uuid no longer exists: There's a uuid implementation in libqemuutil. (From OE-Core rev: 9da623d569ae552b1772a3b3a06df3cbf76cd573) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: display: CVE-2016-9912Sona Sarmadi2017-03-082-0/+46
| | | | | | | | | | | | | | | | virtio-gpu: memory leakage when destroying gpu resource Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9912 Reference to upstream patch: http://git.qemu-project.org/?p=qemu.git;a=patch;h=b8e23926c568f2e963af39028b71c472e3023793 (From OE-Core rev: 8bf7ade372b46b8a872661a7904fbaa30fa262a2) Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: display: CVE-2016-9908Sona Sarmadi2017-03-082-0/+45
| | | | | | | | | | | | | virtio-gpu: information leakage in virgl_cmd_get_capset References: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9908 (From OE-Core rev: f5f4a08baeb4864984fcb9a837a3a8c51274df2b) Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Move recipe version specific patches and features to recipeNathan Rossi2017-03-082-30/+31
| | | | | | | | | | | | | | | | | | | | 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>
* qemu: Convert KVMOPTS to PACKAGECONFIGNathan Rossi2017-03-081-14/+12
| | | | | | | | | | | | | | | Move the KVMOPTS configuration checks and option setting to a PACKAGECONFIG option. This also changes the checking of KVM support on the host build machine so that it is processed as a PACKAGECONFIG _remove for class-native only. The darwin/mingw32 overrides are kept and applied as _remove overrides. (From OE-Core rev: 75a1dd39a63329e9b2d41d3a12ff58049248d2ff) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Consolidate EXTRA_OECONFNathan Rossi2017-03-081-4/+19
| | | | | | | | | | | | | | | | | | | Consolidate the configure options into the EXTRA_OECONF variable, including merging any native(sdk) specific options. This consolidation also makes the use of 'system' pixman in the nativesdk case, this is desirable as the QEMU internal pixman may not be available (using QEMU git as opposed to tarball) and pixman is already in DEPENDS. Additionally the QEMU configure recommends to use the system pixman if available. Additionally move the options specified in the do_configure into the EXTRA_OECONF variable. And flesh out all the target directories. (From OE-Core rev: 9d908f6369e938f1da4456dbc07c64f328656182) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Improve and add PACKAGECONFIG optionsNathan Rossi2017-03-081-6/+6
| | | | | | | | | | | | | | | | | | Move the '--disable-bluez' and '--disable-iscsi' options to PACKAGECONFIG. And added the ${BLUEZ} dependency. Fix up the 'gcrypt' option to depend on 'libgcrypt' instead of gcrypt. This is the expected dependency as noted in the QEMU configure help. Handle the '--audio-drv-list' option inside the PACKAGECONFIG[alsa] args. The previous setting uses a ',' to denote the options for the arg however a space inside quotes is also acceptable and allows the arg to be used into the PACKAGECONFIG flag. (From OE-Core rev: 0aca9b735c6f9d7ffe2826e624942a563c501d1f) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix build with glibc-2.25Martin Jansa2017-03-012-0/+89
| | | | | | | | (From OE-Core rev: c0ab96a7b7d2c41167e2ad79be76f6eec2b6ebb5) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Make use of the new bb.utils.filter() functionPeter Kjellerstedt2017-03-011-2/+1
| | | | | | | (From OE-Core rev: 0a1427bf9aeeda6bee2cc0af8da4ea5fd90aef6f) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: support virtual TPMPatrick Ohly2017-03-015-0/+1761
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables the use of swtpm (from meta-security) as a virtual TPM in qemu. These patches extend the existing support in qemu for TPM passthrough so that a swtpm daemon can be accessed via CUSE (character device in user space). To use this: - add the meta-security layer including the swtpm enhancements for qemu - bitbake swtpm-native - create a TPM instance and initialize it with: $ mkdir -p my-machine/myvtpm0 $ tmp-glibc/sysroots/x86_64-linux/usr/bin/swtpm_setup_oe.sh --tpm-state my-machine/myvtpm0 --createek Starting vTPM manufacturing as root:root @ Fri 20 Jan 2017 08:56:18 AM CET TPM is listening on TCP port 52167. Successfully created EK. Successfully authored TPM state. Ending vTPM manufacturing @ Fri 20 Jan 2017 08:56:19 AM CET - run swtpm *before each runqemu invocation* (it shuts down after use) and do it as root (required to set up the /dev/vtpm0 CUSE device): $ sudo sh -c 'PATH=`pwd`/tmp-glibc/sysroots/x86_64-linux/usr/bin/:`pwd`/tmp-glibc/sysroots/x86_64-linux/usr/sbin/:$PATH; export TPM_PATH=`pwd`/my-machine/myvtpm0; swtpm_cuse -n vtpm0' && sudo chmod a+rw /dev/vtpm0 - run qemu: $ runqemu 'qemuparams=-tpmdev cuse-tpm,id=tpm0,path=/dev/vtpm0 -device tpm-tis,tpmdev=tpm0' ... The guest kernel has to have TPM support enabled, which can be done with: KERNEL_FEATURES_append = " features/tpm/tpm.scc" (From OE-Core rev: 1264d26fa251ac11a9069f3e602dec6be9d8b9ba) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu-native: Point python to python2 on build hostKhem Raj2017-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | On buildhosts where default python has switched to using python3 qemu-native fails configure like this | ERROR: Cannot use 'python', Python 2.6 or later is required. | Note that Python 3 or later is not yet supported. | Use --python=/path/to/python to specify a supported Python. | we still expect build host to have python2 pre-installed and is always available. (From OE-Core rev: 2cac9544752775262fa87517ed49fcac2fb3a574) (From OE-Core rev: 42c32a9c8e3ca28e553a3b95089e0d51390c1758) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* depmodwrapper-cross/qemuwrapper-cross: Drop unneeded binutils dependencyRichard Purdie2017-02-231-0/+2
| | | | | | | | | | | | | | By default these pull in binutils-cross since they're a cross tool and pull in any native tool requirements. In reality they don't need such tools at build time or runtime since they're scripts. Therefore clear the dependency and save on some processing time. (From OE-Core rev: 63796765122e2eee2b78930797d571acb5c244d1) (From OE-Core rev: 50feffd0917b0ab408b34ded9c2f741a9c4e5b74) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Add missing 'inherit pkgconfig'Jussi Kukkonen2017-02-071-1/+1
| | | | | | | | | The monster configure file does call pkg-config somewhere in there. (From OE-Core rev: 8f7eb210257318dfa630bbc39b3eb9be936fddcc) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Upgrade to 2.8.0Aníbal Limón2017-02-058-224/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | Added patches: - target-ppc-fix-user-mode.patch Rebased patches: - exclude-some-arm-EABI-obsolete-syscalls.patc Removed patches (already in upstream): - 0003-fix-CVE-2016-7908.patch - 0004-fix-CVE-2016-7909.patch - 0001-target-mips-add-24KEc-CPU-definition.patch Changelog, http://wiki.qemu.org/ChangeLog/2.8 (From OE-Core rev: ab7eb1c896e4ba38b6c16acae3d25534296f62b8) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Upgrade to 2.7.1Aníbal Limón2017-01-235-181/+4
| | | | | | | | | | | | | | | | Minor upgrade contains fixes from 2.7.0. Removed patches (already in upstream): - 0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch - 0001-virtio-zero-vq-inuse-in-virtio_reset.patch - 0002-fix-CVE-2016-7423.patch (From OE-Core rev: 0f29bd2c267efcb0087d73c38202ba233af636fd) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Switch to Recipe Specific SysrootsRichard Purdie2017-01-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is comparatively large and invasive. It does only do one thing, switching the system to build using recipe specific sysroots and where changes could be isolated from it, that has been done. With the current single sysroot approach, its possible for software to find things which aren't in their dependencies. This leads to a determinism problem and is a growing issue in several of the market segments where OE makes sense. The way to solve this problem for OE is to have seperate sysroots for each recipe and these will only contain the dependencies for that recipe. Its worth noting that this is not task specific sysroots and that OE's dependencies do vary enormously by task. This did result in some implementation challenges. There is nothing stopping the implementation of task specific sysroots at some later point based on this work but that as deemed a bridge too far right now. Implementation details: * Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in TMPDIR/sysroot-components/PACKAGE_ARCH/PN. * WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE. * This construction is primarily done by a new do_prepare_recipe_sysroot task which runs before do_configure and consists of a call to the extend_recipe_sysroot function. * Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot dependencies. * We have to do a search/replace 'fixme' operation on the files installed into the sysroot to change hardcoded paths into the correct ones. We create a fixmepath file in the component directory which lists the files which need this operation. * Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each time a new loader is added. These are handled by adding files in bindir with the name prefixed by "postinst-" and are run in each sysroot as its created if they're present. This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them. * Since a recipe can have multiple tasks and these tasks can run against each other at the same time we have to have a lock when we perform write operations against the sysroot. We also have to maintain manifests of what we install against a task checksum of the dependency. If the checksum changes, we remove its files and then add the new ones. * The autotools logic for filtering the view of m4 files is no longer needed (and was the model for the way extend_recipe_sysroot works). * For autotools, we used to build a combined m4 macros directory which had both the native and target m4 files. We can no longer do this so we use the target sysroot as the default and add the native sysroot as an extra backup include path. If we don't do this, we'd have to build target pkg-config before we could built anything using pkg-config for example (ditto gettext). Such dependencies would be painful so we haven't required that. * PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy for each machine. The paths therefore changed, the behaviour did not. * The ccache class had to be reworked to function with rss. * The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal recipe name therefore remains a bad idea. * The logic in insane needed tweaks to deal with the new path layout, as did the debug source file extraction code in package.bbclass. * The logic in sstate.bbclass had to be rewritten since it previously only performed search and replace on extracted sstate and we now need this to happen even if the compiled path was "correct". This in theory could cause a mild performance issue but since the sysroot data was the main data that needed this and we'd have to do it there regardless with rss, I've opted just to change the way the class for everything. The built output used to build the sstate output is now retained and installed rather than deleted. * The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold up against testing. This has been rewritten too. There are some assumptions made about paths, we save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is here works but is a little hardcoded and an area for future improvement. * In order to work with eSDK we need a way to build something that looks like the old style sysroot. "bitbake build-sysroots" will construct such a sysroot based on everything in the components directory that matches the current MACHINE. It will allow transition of external tools and can built target or native variants or both. It also supports a clean task. I'd suggest not relying on this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have to have built that in a previous bitbake invocation. * pseudo is run out of its components directory. This is fine as its statically linked. * The hacks for wayland to see allarch dependencies in the multilib case are no longer needed and can be dropped. * wic needed more extensive changes to work with rss and the fixes are in a separate commit series * Various oe-selftest tweaks were needed since tests did assume the location to binaries and the combined sysroot in several cases. * Most missing dependencies this work found have been sent out as separate patches as they were found but a few tweaks are still included here. * A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my hand. That implementation can probably be neater but this is on the list of things to cleanup later at this point. In summary, the impact people will likely see after this change: * Recipes may fail with missing dependencies, particularly native tools like gettext-native, glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors * Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst * There was a separate patch series dealing with roots postinst native dependency issues. Any postinst which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS. There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean we've found all the issues. Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the task logfiles, not the console so I've intentionally left this like that for now. We can turn it down easily enough in due course. (From OE-Core rev: 809746f56df4b91af014bf6a3f28997d6698ac78) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Fix pci-assignHe Zhe2017-01-052-0/+72
| | | | | | | | | | | | | Fix iommu pci device assignment failure. "qemu-system-x86_64: -device pci-assign,host=02:00.0: No IOMMU found. Unable to assign device "(null)"" (From OE-Core rev: 2011d1cc6c05ff3979e4bd664ce918dc8eb8e8fb) Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove True option to getVar callsJoshua Lock2016-12-161-2/+2
| | | | | | | | | | | | | getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) (From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Disable qemu on target for MIPSZubair Lutfullah Kakakhel2016-11-301-1/+2
| | | | | | | | | | Disable building qemu on MIPS N64 and N32. (From OE-Core rev: bd565243d75d0d13360a86aef6acaa594875b849) Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: update run-ptest scriptKai Kang2016-11-231-3/+5
| | | | | | | | | | | The Makefile in directory tests has been renamed, then update script run-ptest to follow the change. (From OE-Core rev: 364565f3f3baccc9757ce0dcb393464b38055b4f) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix CVE-2016-7909Kai Kang2016-11-232-0/+43
| | | | | | | | | | | | | Backport patch to fix CVE-2016-7909 of qemu. Ref: https://security-tracker.debian.org/tracker/CVE-2016-7909 (From OE-Core rev: 126783ca25a5ae9daf87ac563239fbff4696a682) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix CVE-2016-7423 and CVE-2016-7908Kai Kang2016-11-063-0/+109
| | | | | | | | | | Backport patches to fix CVE-2016-7423 and CVE-2016-7908 of qemu. (From OE-Core rev: 1f4c303fd64a4bc05882de01676f241f0df6da78) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: supplementary fix of CVE-2016-5403Kai Kang2016-11-062-0/+58
| | | | | | | | | | | | | | | | | | | | | | It is reported in qemu community that VM always exits with: | 2016-10-17T07:33:40.393592Z qemu-kvm: Virtqueue size exceede when VM is suspend and resume. Solution from the maintainer of virtio is to merge following 3 commits: http://git.qemu.org/?p=qemu.git;a=commit;h=bccdef6 http://git.qemu.org/?p=qemu.git;a=commit;h=58a83c6 http://git.qemu.org/?p=qemu.git;a=commit;h=4b7f91e The first 2 commits have been merged in qemu 2.7.0. Then apply the third one. (From OE-Core rev: db5b9254fbbc30e50b50c7c8cd1f04dcc965cd52) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove LIC_FILES_CHKSUM from recipes without SRC_URIOlaf Mandel2016-10-281-1/+0
| | | | | | | | | | | | | | | | LICENSE and LIC_FILES_CHKSUM apply to the sources specified by SRC_URI, not to the recipe itself. As such a license declaration for a source-less recipe makes little sense. The LICENSE declaration is mandatory, but LIC_FILES_CHKSUM can be removed in such cases. Remove the LIC_FILES_CHKSUM declarations from all recipes that do not need it. CC: Paul Eggleton <paul.eggleton@linux.intel.com> (From OE-Core rev: b18fa5f2f2f46afc6fdc58f4d29679dea9c36c43) Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk-qemu-helper: drop old Zaurus flash toolsPaul Eggleton2016-09-242-381/+0
| | | | | | | | | | | These tools are relics of an earlier time when the Zaurus devices were reference platforms - these days they are no longer needed. It seems amazing that they survived earlier purges. (From OE-Core rev: 49919585e5cec2999201fce8cb1b70f1cf7f591e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk-qemu-helper: fix for new runqemuRobert Yang2016-09-091-4/+5
| | | | | | | | | | There is no runqemu-internal anymore, and it is a python script now which requires several python modules. (From OE-Core rev: 94cb6eaec37c07e7903143fb53a568ab0bf2fc5c) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix: cp command cannot find tests/MakeflieJianxun Zhang2016-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | bitbake qemu This error shows up: ERROR: qemu-2.7.0-r1 do_install_ptest_base: Function failed: do_install_ptest_base ... cp: cannot stat '...tmp/work/core2-64-poky-linux/qemu/2.7.0-r1 /qemu-2.7.0/tests/Makefile: No such file or directory ... Commit 46e7b70699d8bf4db08c8bb5111974318dd5416d in qemu project renamed tests/Makefile to tests/Makefile.include, we apply the same change in recipe accordingly to fix this issue. Fixes [YOCTO #10245] (From OE-Core rev: 7009a9309051061455fa7237e09796ef12c9e308) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: 2.6.0 -> 2.7.0Robert Yang2016-09-093-92/+11
| | | | | | | | | | | | | | | | | | This upgrade can fix a qemuppc + openssh bug, the ssh connection maybe refused or closed randomly, and it's not easy to reproduce. RP pointed that this upgrade can fix the problem, and it does work in my local testing. * Update add-ptest-in-makefile.patch * Drop backported patch 0001-configure-support-vte-2.91.patch Here is the Changlog: http://wiki.qemu.org/ChangeLog/2.7 (From OE-Core rev: 056ce17e168bf856ff95a6f659098403169cb889) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: add patch to add mips 24KEc CPU definitionAndré Draszik2016-08-012-0/+55
| | | | | | | | | | | This patch has been accepted upstream: http://lists.nongnu.org/archive/html/qemu-devel/2016-07/msg05778.html (From OE-Core rev: b89bd412a69bfda262ed795e970b362ddbec6c68) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: update patch metadataRoss Burton2016-07-081-1/+1
| | | | | | | | | Enforce the correct tag names across all of oe-core for consistency. (From OE-Core rev: 606a43dc38a00cc243f933722db657aea4129f8e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: add PACKAGECONFIG stanza for bzip2Ross Burton2016-07-011-0/+1
| | | | | | | | | This is just for reading bzip-compressed DMG files, so disable it by default. (From OE-Core rev: 0aad5d1888549a134968f7f6d0c9d64b3e158e1e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Use Gtk+3, add configure patch to find vteJussi Kukkonen2016-06-233-1/+81
| | | | | | | | (From OE-Core rev: 0474412a1d2b6b8a35931bb03fa58e31a48133e1) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu-native: set ld.bfd, fix cflags, and set some environment varsStephen Arnold2016-06-153-3/+27
| | | | | | | | | | | | | The main thing is build failures with gold linker, but qemu is also a little too aggressive at finding random tools on the build host, so we also set the build env for qemu-native and make sure it doesn't reset its own (hard-coded) cflags when we don't want it to. (From OE-Core rev: 862c9cbbef1f17b57c0ea369d88194b60623ffdd) Signed-off-by: Stephen Arnold <sarnold@vctlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: remove runtime python dependencyAlexander Kanavin2016-06-011-1/+1
| | | | | | | | | Nothing seems to require it. (From OE-Core rev: 1c8cdcd1f4e80562f5c1804860ce8e1f62ecf134) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>