devtool: add: prevent repeatedly running recipetool
If recipetool returns with exit code 14 this means devtool needs to build nodejs-native and then call it again. If recipetool returns exit code 14 again then clearly something has gone wrong and we should just quit with an error. (From OE-Core rev: 8d7cced6e06d7c2037f5ab75ac859f501129532e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
bb8f141d0c
commit
48f8d1201a
|
@ -155,11 +155,14 @@ def add(args, config, basepath, workspace):
|
|||
|
||||
tempdir = tempfile.mkdtemp(prefix='devtool')
|
||||
try:
|
||||
builtnpm = False
|
||||
while True:
|
||||
try:
|
||||
stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True)
|
||||
except bb.process.ExecutionError as e:
|
||||
if e.exitcode == 14:
|
||||
if builtnpm:
|
||||
raise DevtoolError('Re-running recipetool still failed to find npm')
|
||||
# FIXME this is a horrible hack that is unfortunately
|
||||
# necessary due to the fact that we can't run bitbake from
|
||||
# inside recipetool since recipetool keeps tinfoil active
|
||||
|
@ -167,6 +170,7 @@ def add(args, config, basepath, workspace):
|
|||
# to exit out and come back here to do it.
|
||||
ensure_npm(config, basepath, args.fixed_setup, check_exists=False)
|
||||
logger.info('Re-running recipe creation process after building nodejs')
|
||||
builtnpm = True
|
||||
continue
|
||||
elif e.exitcode == 15:
|
||||
raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line')
|
||||
|
|
Loading…
Reference in New Issue