poky/scripts
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
..
contrib python: don't include -tests with modules 2017-08-03 11:14:13 +01:00
lib devtool: rework source extraction so that dependencies are handled 2017-09-18 11:07:29 +01:00
native-intercept native.bbclass: Add a simple chown intercept command 2011-06-23 21:08:01 +01:00
postinst-intercepts update_gio_module_cache: Do not chown a non-existing file 2017-04-05 23:22:12 +01:00
pybootchartgui pybootchartgui: support reading reduced /proc logs 2016-12-07 10:38:00 +00:00
tiny scripts: python3 fixes and new tool ksum 2017-01-16 18:05:14 +00:00
bitbake-prserv-tool bitbake-prserv-tool: check file name 2015-11-25 07:50:30 +00:00
bitbake-whatchanged scripts: python3: change python to python3 in shebang 2016-06-03 13:13:29 +01:00
buildhistory-collect-srcrevs buildhistory-collect-srcrevs: Fix multiple SRCREV definitions 2016-10-28 16:15:17 +01:00
buildhistory-diff scripts/buildhistory-diff: use of argparse instead of optparse 2017-09-11 17:30:30 +01:00
buildstats-diff buildstats-diff: show more graceful error messages 2017-06-09 17:12:14 +01:00
combo-layer combo-layer: handle file_exclude matching dirs 2016-10-28 16:15:21 +01:00
combo-layer-hook-default.sh combo-layer-hook-default.sh: handle patches without Signed-off-by 2015-03-20 11:21:25 +00:00
combo-layer.conf.example combo-layer: partial import for '--history init' 2015-03-20 11:21:24 +00:00
cp-noerror scripts: python3: change python to python3 in shebang 2016-06-03 13:13:29 +01:00
create-pull-request create-pull-request: support format-patch options 2017-05-23 17:45:35 +01:00
crosstap crosstap: Changes to support Recipe specific sysroot 2017-03-08 11:52:56 +00:00
devtool devtool: check locale and refuse to start if it isn't UTF-8 2017-01-23 12:05:22 +00:00
gen-lockedsig-cache gen-lockedsig-cache: catch os.link error 2017-03-22 11:35:21 +00:00
gen-site-config siteconfig: generate configuration data caches for autoconf 2010-09-03 10:50:02 +01:00
lnr scripts/lnr: update for python3 2016-06-01 12:47:10 +01:00
multilib_header_wrapper.h multilib_header: Update wrapper to handle arm 32/64 bit 2017-03-31 10:10:29 +01:00
oe-build-perf-report oe-build-perf-report: implement --dump-buildstats 2017-05-23 17:45:36 +01:00
oe-build-perf-test oe-build-perf-test: pack all buildstat in one file 2017-03-27 08:15:06 +01:00
oe-buildenv-internal oe-init-build-env-memres: Drop it 2017-07-21 08:44:25 +01:00
oe-check-sstate devtool/recipetool/meta: Adapt to bitbake API changes for multi-configuration builds 2016-08-18 10:07:23 +01:00
oe-find-native-sysroot scripts/oe-find-native-sysroot: fix a incomplete regexp 2017-06-28 20:55:09 +01:00
oe-git-archive scripts/oe-git-archive: implement --notes 2017-03-27 08:15:06 +01:00
oe-git-proxy oe-git-proxy: create usage output 2016-12-13 22:55:21 +00:00
oe-gnome-terminal-phonehome terminal: Fix gnome-terminal to work with recent versions 2016-07-08 10:50:18 +01:00
oe-pkgdata-util oe-pkgdata-util: Setup logging before calling prepare 2017-07-21 08:44:25 +01:00
oe-publish-sdk scripts/oe-publish-sdk: use hook to call git update-server-info 2017-08-09 09:24:16 +01:00
oe-run-native oe-run-native: print more error messages 2017-04-14 23:25:54 +01:00
oe-selftest scripts/oe-{self,}test: Logger change default stream to stdout 2017-06-06 19:02:44 +01:00
oe-setup-builddir meta: move some text from oe-setup-builddir to conf-notes.txt 2017-08-23 12:06:51 +01:00
oe-setup-rpmrepo scripts/oe-setup-rpmrepo: replace createrepo with createrepo_c 2017-03-14 14:42:17 +00:00
oe-test scripts/oe-{self,}test: Logger change default stream to stdout 2017-06-06 19:02:44 +01:00
oe-trim-schemas oe-trim-schemas: create usage output 2016-12-13 22:55:20 +00:00
oepydevshell-internal.py oepydevshell-internal.py: standardize usage output 2016-12-13 22:55:21 +00:00
opkg-query-helper.py scripts: python3: change python to python3 in shebang 2016-06-03 13:13:29 +01:00
pythondeps scripts: python3: change python to python3 in shebang 2016-06-03 13:13:29 +01:00
README Further cleanup of various poky references 2011-04-21 12:56:16 +01:00
recipetool recipetool: Setup logging before calling prepare 2017-07-21 08:44:25 +01:00
relocate_sdk.py relocate_sdk.py: skip debug files from relocation 2017-03-08 11:52:57 +00:00
rootfs_rpm-extract-postinst.awk meta/classes/rootfs_rpm.bbclass: re implement base on rpm5 2010-07-24 00:46:57 +01:00
rpm2cpio.sh scripts/rpm2cpio.sh: replace 5.x version with 4.x version 2017-03-14 14:42:17 +00:00
runqemu scripts/runqemu: Don't print error messages about tap file locks 2017-08-30 11:14:26 +01:00
runqemu-addptable2image scripts/oe-setup-builddir: Fix up OE-Core/Poky mismatch for now (and fix permissions) 2011-04-21 19:19:33 +01:00
runqemu-export-rootfs runqemu-export-rootfs: don't change RPC ports 2017-06-12 15:08:32 +01:00
runqemu-extract-sdk oe-find-native-sysroot: work with RSS 2017-04-13 10:54:10 +01:00
runqemu-gen-tapdevs runqemu-gen-tapdevs: fix runqemu-ifup script call 2017-04-29 11:17:22 +01:00
runqemu-ifdown runqemu: use bindir_native property to run ifup/down scripts 2017-04-13 10:54:10 +01:00
runqemu-ifup runqemu: use bindir_native property to run ifup/down scripts 2017-04-13 10:54:10 +01:00
runqemu.README scripts/runqemu.README: fix typo 2017-05-18 14:01:47 +01:00
send-error-report send-error-report: encode data to bytes 2016-06-03 13:13:30 +01:00
send-pull-request scripts/send-pull-request: Avoid multiple chain headers 2016-12-07 10:37:59 +00:00
sstate-cache-management.sh scripts/sstate-cache-management.sh: Change wording 2016-02-15 16:28:43 +00:00
sstate-diff-machines.sh sstate-diff-machines.sh: Replace MACHINE_ARCH only at the beginning and separated with dash 2017-06-06 19:02:43 +01:00
sstate-sysroot-cruft.sh sstate-sysroot-cruft.sh: Extend the whitelist 2017-06-23 11:44:12 +01:00
sysroot-relativelinks.py sysroot-relativelinks: also consider links to dirs on the host 2017-03-29 16:37:27 +01:00
task-time task-time: Add simple buildstats analysis script 2016-11-06 23:35:36 +00:00
test-dependencies.sh test-dependencies.sh: Strip also '\.bb: .*' before adding failed recipe to list of failed 2016-10-28 16:15:19 +01:00
test-reexec scripts/test-reexec: fix several incomplete regexp 2017-06-28 20:55:09 +01:00
test-remote-image scripts: python3: change python to python3 in shebang 2016-06-03 13:13:29 +01:00
verify-bashisms verify-bashisms: support warnings with more than one line of source code 2017-01-31 15:28:41 +00:00
wic wic: implement 'wic write' command 2017-08-27 22:30:07 +01:00
yocto-bsp yocto-bsp: Refactor script to use argparse instead of optparse 2016-07-07 13:38:13 +01:00
yocto-compat-layer-wrapper scripts/yocto-compat-layer-wrapper: Use realpath of output_log 2017-06-09 17:12:14 +01:00
yocto-compat-layer.py yocto-compat-layer.py: Fix trace when layers can't be processed 2017-09-11 17:30:28 +01:00
yocto-kernel scripts: Fixed typo in parameter that was causing exception 2016-07-07 13:38:13 +01:00
yocto-layer scripts: Fixed typo in parameter that was causing exception 2016-07-07 13:38:13 +01:00

This directory contains Various useful scripts for working with OE builds