[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5640/8267] recipetool: create: hide missing npm error when called from devtool



commit 40d17719441c3e6865b0f35b40c2f98386671903
Author: Paul Eggleton <paul eggleton linux intel com>
Date:   Wed Apr 12 22:41:29 2017 +1200

    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.
    
    (From OE-Core rev: 0c2d0fbb1c6c5b82183799eb7ef80074f86bcfc4)
    
    Signed-off-by: Paul Eggleton <paul eggleton linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 scripts/lib/recipetool/create.py     |    4 ++++
 scripts/lib/recipetool/create_npm.py |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 439dca0..5af58a1 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 a79a9af..cb8f338 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])


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]