Go to file
Paul Eggleton 10af6d86b3 devtool: rework source extraction so that dependencies are handled
Since it was first implemented, devtool's source extraction (as used by
the devtool modify, extract and upgrade subcommands) ignored other recipe
dependencies - so for example if you ran devtool modify on a recipe that
fetches from svn or is compressed using xz then it would fail if those
dependencies hadn't been built first. Now that we can execute tasks in
the normal way (i.e. tinfoil.build_targets()) then we can rework it to
use that. This is slightly tricky in that the source extraction needs to
insert some logic in between tasks; luckily we can use a helper class
that conditionally adds prefuncs to make that possible.

Some side-effects / aspects of this change worth noting:
* Operations are a little slower because we have to go through the task
  dependency graph generation and other startup processing. There's not
  really any way to avoid this though.
* devtool extract didn't used to require a workspace, now it does
  because it needs to create a temporary bbappend for the recipe. (As
  with other commands the workspace be created on the fly if it doesn't
  already exist.)
* I want any existing sysroot files and stamps to be left alone during
  extraction since we are running the tasks off to the side, and
  especially devtool extract should be able to be used without touching
  these. However, this was hampered by the automatic removal process in
  sstate.bbclass triggered by bb.event.ReachableStamps when the task
  signatures change, thus I had to introduce a way to disable this
  removal on a per-recipe basis (we still want it to function for any
  dependencies that we aren't working on). To implement this I elected
  to use a file written to tmp/sstate-control which gets deleted
  automatically after reading so that there's less chance of stale files
  affecting future sessions. I could have used a variable but this would
  have needed to be whitelisted and I'd have to have poked its value in
  using the setVariable command.

Fixes [YOCTO #11198].

(From OE-Core rev: 830dbd66992cbb9e731b48d56fddf8f220349666)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-18 11:07:29 +01:00
bitbake bitbake: toaster: allow dots in user path names 2017-09-17 23:24:14 +01:00
documentation kernel-dev: Updates to the kernel flow procedures 2017-09-13 18:00:19 +01:00
meta devtool: rework source extraction so that dependencies are handled 2017-09-18 11:07:29 +01:00
meta-poky meta-yocto: Restructure and tidy up READMEs 2017-09-14 13:36:22 +01:00
meta-selftest oeqa: increase verbosity of dnf commands in dnf packagefeed test 2017-08-18 23:46:38 +01:00
meta-skeleton meta*: Add LAYERSERIES_COMPAT and LAYERSERIES_CORENAMES markup to layer.conf 2017-06-12 15:08:30 +01:00
meta-yocto-bsp meta-yocto-bsp: bump to the latest linux stable kernel for the non-x86 BSPs 2017-09-17 23:23:21 +01:00
scripts devtool: rework source extraction so that dependencies are handled 2017-09-18 11:07:29 +01:00
.gitignore add !meta-poky to .gitignore file 2016-03-26 08:06:58 +00:00
.templateconf meta-yocto: Rename to meta-poky to better match its purpose 2016-02-28 11:31:17 +00:00
LICENSE Fix license notices for OE-Core 2014-01-02 12:58:54 +00:00
oe-init-build-env oe-init-build-env-memres: Drop it 2017-07-21 08:44:25 +01:00
README.hardware meta-yocto: Restructure and tidy up READMEs 2017-09-14 13:36:22 +01:00
README.LSB README.LSB: describe oe-core's deviations from the LSB spec 2017-06-28 15:52:17 +01:00
README.poky meta-yocto: Restructure and tidy up READMEs 2017-09-14 13:36:22 +01:00
README.qemu README.qemu: Add from meta-yocto as it belongs in core 2017-09-14 13:36:00 +01:00

QEMU Emulation Targets
======================

To simplify development, the build system supports building images to
work with the QEMU emulator in system emulation mode. Several architectures
are currently supported in 32 and 64 bit variants:

  * ARM (qemuarm + qemuarm64)
  * x86 (qemux86 + qemux86-64)
  * PowerPC (qemuppc + qemuppc64)
  * MIPS (qemumips + qemumips64)

Use of the QEMU images is covered in the Yocto Project Reference Manual.
The appropriate MACHINE variable value corresponding to the target is given
in brackets.