diff options
Diffstat (limited to 'scripts/lib/recipetool')
-rw-r--r-- | scripts/lib/recipetool/create.py | 10 | ||||
-rw-r--r-- | scripts/lib/recipetool/create_npm.py | 4 |
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 | ||
1076 | def 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 | |||
1079 | def register_commands(subparsers): | 1081 | def 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 | |||
21 | import tempfile | 21 | import tempfile |
22 | import shutil | 22 | import shutil |
23 | import json | 23 | import json |
24 | from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars | 24 | from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars, check_npm |
25 | 25 | ||
26 | logger = logging.getLogger('recipetool') | 26 | logger = 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'] |