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'] |
