poky/scripts/lib/devtool
Paul Eggleton 6e182aaa76 devtool: modify: support recipes with only local files as source
The hello-mod recipe is unusual in that it has only local files in
SRC_URI and builds these out of ${WORKDIR}. When you use devtool modify
on it, devtool puts all of those files in an "oe-local-files"
subdirectory of the source tree, which is not ${S} (or ${B}) any more
and thus building the recipe afterwards fails. It's a bit of a hack, but
symlink the files in oe-local-files into the source tree (and commit the
symlinks with an ignored commit so that the repo is clean) to work
around the problem. We only do this at time of extraction, so any files
added to or removed from oe-local-files after that won't be handled, but
I think there's a limit to how far we should go to support these kinds
of recipes - ultimately they are anomalies.

I initially tried a hacky workaround where I set effectively set B =
"${WORKDIR}" and that allowed it to build, but other things such as the
LIC_FILES_CHKSUM checks still broke because they expected to find files
in ${S}. Another hack where I set the sourcetree to point to the
oe-local-files subdirectory works for hello-mod but not for makedevs
since whilst that is similar, unlike hello-mod it does in fact have
files in the source tree (since it has a patch that adds COPYING) and
thus the same issue occurred.

Also tweak one of the tests that tries devtool modify / update-recipe on
the makedevs recipe to try building it since that would have caught this
issue.

Fixes [YOCTO #10616].

(From OE-Core rev: 857c06d6a1d161bf5a01311d07758bd4241929a3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-23 11:10:14 +00:00
..
__init__.py devtool: add: build nodejs-native if npm is needed and not available 2016-10-05 10:10:11 +01:00
build_image.py scripts: ensure tinfoil is shut down correctly 2016-09-03 23:45:54 +01:00
build_sdk.py devtool: add build-sdk subcommand 2016-03-07 00:11:38 +00:00
build.py devtool: add "rename" subcommand 2016-11-07 11:04:22 +00:00
deploy.py devtool: deploy-target: Avoid unnecessary dependency on awk on the target 2016-10-05 10:10:11 +01:00
package.py devtool: categorise and order subcommands in help output 2016-02-21 09:32:42 +00:00
runqemu.py devtool: runqemu: work around runqemu script path assumption 2016-10-25 22:40:09 +01:00
sdk.py devtool: sdk-update: drop support for local updates 2016-05-21 22:24:57 +01:00
search.py devtool: categorise and order subcommands in help output 2016-02-21 09:32:42 +00:00
standard.py devtool: modify: support recipes with only local files as source 2016-11-23 11:10:14 +00:00
upgrade.py scripts: ensure tinfoil is shut down correctly 2016-09-03 23:45:54 +01:00
utilcmds.py devtool: configure-help: fix error if do_configure not already run 2016-03-25 10:29:13 +00:00