poky/scripts/lib/devtool
Paul Eggleton a1179425a9 devtool: set up git repos so that singletask.lock is ignored
singletask.lock is written out while certain tasks execute for recipes
that have externalsrc.bbclass enabled - this includes recipes in
devtool's workspace. It appears that there's a race where
singletask.lock will be there one minute and then when we try to get the
file checksum of it (since we want to know if anything in the source
tree has changed) it will be gone, and git chokes. To fix that, add
singletask.lock to .git/info/exclude in the repository, regardless of
whether we created the repository or not. In any case singletask.lock
should never be tracked by git, so this is a good thing to be doing for
that reason as well.

This fixes oe-selftest failures in test_devtool_modify that we've seen
on the Yocto Project autobuilder:

bb.data_smart.ExpansionError: Failure expanding variable
do_compile[file-checksums], expression was ${@srctree_hash_files(d)}
which triggered exception CalledProcessError: Command
'['git', 'add', '-A', '.']' returned non-zero exit status 128.

Note that this only fixes this issue for devtool; if you are using
externalsrc independently of devtool there's a chance this will still
be an issue unless you add singletask.lock to your .gitignore.

(From OE-Core rev: 334ba846c795fc0d8c73ce05a1b0882739c86650)

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>
2018-02-06 11:06:27 +00:00
..
__init__.py devtool: set up git repos so that singletask.lock is ignored 2018-02-06 11:06:27 +00:00
build_image.py scripts: remove True option to getVar calls 2016-12-16 10:23:23 +00: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 scripts: drop True option to getVar calls 2017-09-26 11:05:01 +01:00
export.py devtool: export: new plugin to export the devtool workspace 2017-08-23 08:47:02 +01:00
import.py devtool: import: new plugin to import the devtool workspace 2017-08-23 08:47:02 +01:00
package.py meta/scripts: Various getVar/getVarFlag expansion parameter fixes 2017-01-09 13:39:11 +00:00
runqemu.py devtool: point runqemu to correct native bindir 2017-04-05 23:22:12 +01:00
sdk.py devtool: sdk-update: fix pulling updates from git 2017-08-09 09:24:16 +01:00
search.py scripts: remove True option to getVar calls 2016-12-16 10:23:23 +00:00
standard.py devtool: implement conditional patch handling 2017-11-11 12:14:27 +00:00
upgrade.py devtool: rename the suggested license change tag to 'License-Update:' 2018-01-18 12:50:37 +00:00
utilcmds.py devtool: make find-recipe and edit-recipe always work with any recipe 2017-11-11 12:14:27 +00:00