summaryrefslogtreecommitdiffstats
path: root/scripts/lib/recipetool
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/recipetool')
-rw-r--r--scripts/lib/recipetool/create.py10
-rw-r--r--scripts/lib/recipetool/create_npm.py4
2 files changed, 9 insertions, 5 deletions
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 9b31fe92d7..d427d32062 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -406,10 +406,7 @@ def create_recipe(args):
406 srctree = tempsrc 406 srctree = tempsrc
407 if fetchuri.startswith('npm://'): 407 if fetchuri.startswith('npm://'):
408 # Check if npm is available 408 # Check if npm is available
409 npm = bb.utils.which(tinfoil.config_data.getVar('PATH', True), 'npm') 409 check_npm(tinfoil.config_data)
410 if not npm:
411 logger.error('npm:// URL requested but npm is not available - you need to either build nodejs-native or install npm using your package manager')
412 sys.exit(1)
413 logger.info('Fetching %s...' % srcuri) 410 logger.info('Fetching %s...' % srcuri)
414 try: 411 try:
415 checksums = scriptutils.fetch_uri(tinfoil.config_data, fetchuri, srctree, srcrev) 412 checksums = scriptutils.fetch_uri(tinfoil.config_data, fetchuri, srctree, srcrev)
@@ -1076,6 +1073,11 @@ def convert_rpm_xml(xmlfile):
1076 return values 1073 return values
1077 1074
1078 1075
1076def check_npm(d):
1077 if not os.path.exists(os.path.join(d.getVar('STAGING_BINDIR_NATIVE', True), 'npm')):
1078 logger.error('npm required to process specified source, but npm is not available - you need to build nodejs-native first')
1079 sys.exit(14)
1080
1079def register_commands(subparsers): 1081def register_commands(subparsers):
1080 parser_create = subparsers.add_parser('create', 1082 parser_create = subparsers.add_parser('create',
1081 help='Create a new recipe', 1083 help='Create a new recipe',
diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py
index e794614978..7bb844cb0c 100644
--- a/scripts/lib/recipetool/create_npm.py
+++ b/scripts/lib/recipetool/create_npm.py
@@ -21,7 +21,7 @@ import subprocess
21import tempfile 21import tempfile
22import shutil 22import shutil
23import json 23import json
24from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars 24from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars, check_npm
25 25
26logger = logging.getLogger('recipetool') 26logger = logging.getLogger('recipetool')
27 27
@@ -157,6 +157,8 @@ class NpmRecipeHandler(RecipeHandler):
157 157
158 files = RecipeHandler.checkfiles(srctree, ['package.json']) 158 files = RecipeHandler.checkfiles(srctree, ['package.json'])
159 if files: 159 if files:
160 check_npm(tinfoil.config_data)
161
160 data = read_package_json(files[0]) 162 data = read_package_json(files[0])
161 if 'name' in data and 'version' in data: 163 if 'name' in data and 'version' in data:
162 extravalues['PN'] = data['name'] 164 extravalues['PN'] = data['name']