aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-04-12 22:41:29 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-04-12 22:16:55 +0100
commit0c2d0fbb1c6c5b82183799eb7ef80074f86bcfc4 (patch)
tree9444133481fb5e8342ac0a0fe558c8c6313d6f8a
parent8d7cced6e06d7c2037f5ab75ac859f501129532e (diff)
downloadopenembedded-core-contrib-0c2d0fbb1c6c5b82183799eb7ef80074f86bcfc4.tar.gz
openembedded-core-contrib-0c2d0fbb1c6c5b82183799eb7ef80074f86bcfc4.tar.bz2
openembedded-core-contrib-0c2d0fbb1c6c5b82183799eb7ef80074f86bcfc4.zip
recipetool: create: hide missing npm error when called from devtool
If devtool is called with a URL to a source repository containing a node.js module, we don't know that until recipetool has fetched it, and due to the structure of the code we have to exit with a special code in order to let devtool know it needs to build nodejs-native. We also want to suppress the error message that recipetool would normally print under these circumstances; there is already a mechanism for this but it wasn't operative in the case where we're pointed to a source repository rather than an npm:// URL, so create some plumbing so that we know to hide the message. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--scripts/lib/recipetool/create.py4
-rw-r--r--scripts/lib/recipetool/create_npm.py2
2 files changed, 5 insertions, 1 deletions
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 439dca0fcc8..5af58a12f70 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -59,6 +59,9 @@ class RecipeHandler(object):
recipecmakefilemap = {}
recipebinmap = {}
+ def __init__(self):
+ self._devtool = False
+
@staticmethod
def load_libmap(d):
'''Load library->recipe mapping'''
@@ -622,6 +625,7 @@ def create_recipe(args):
handlers.sort(key=lambda item: (item[1], -item[2]), reverse=True)
for handler, priority, _ in handlers:
logger.debug('Handler: %s (priority %d)' % (handler.__class__.__name__, priority))
+ setattr(handler, '_devtool', args.devtool)
handlers = [item[0] for item in handlers]
# Apply the handlers
diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py
index a79a9afbb10..cb8f338b8b3 100644
--- a/scripts/lib/recipetool/create_npm.py
+++ b/scripts/lib/recipetool/create_npm.py
@@ -189,7 +189,7 @@ class NpmRecipeHandler(RecipeHandler):
files = RecipeHandler.checkfiles(srctree, ['package.json'])
if files:
d = bb.data.createCopy(tinfoil.config_data)
- npm_bindir = check_npm(tinfoil)
+ npm_bindir = check_npm(tinfoil, self._devtool)
d.prependVar('PATH', '%s:' % npm_bindir)
data = read_package_json(files[0])