diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-11-16 09:11:03 +1300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-11-23 10:59:56 +0000 |
commit | 4d8ee55164303544c9cf9c9356448cbc79885815 (patch) | |
tree | 5d8ad47d3ed23dbb3f481c7a4a4f17a98d904b78 /bitbake/lib/bb/fetch2 | |
parent | 3ef7cf5297804a22ab01a8eaaacfbab12fddb9d8 (diff) | |
download | poky-4d8ee55164303544c9cf9c9356448cbc79885815.tar.gz |
bitbake: fetch2: npm: conditionally hide NPM_LOCKDOWN / NPM_SHRINKWRAP warnings
If ud.ignore_checksums is set (which we currently use to suppress the
warnings for missing SRC_URI checksums when fetching files from
scripts), then if we're fetching an npm package we should similarly
suppress the warnings when NPM_LOCKDOWN and NPM_SHRINKWRAP aren't set.
At the same time, make any errors reading either of these files actual
errors since if the file is specified and could not be found, that
should be an error - not the exact same warning.
Fixes [YOCTO #10464].
(Bitbake rev: cefb8c93c8299e68352cf7ec5ad9ca50c0d499ed)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/fetch2')
-rw-r--r-- | bitbake/lib/bb/fetch2/npm.py | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/bitbake/lib/bb/fetch2/npm.py b/bitbake/lib/bb/fetch2/npm.py index 699ae72e05..c3e02e47f0 100644 --- a/bitbake/lib/bb/fetch2/npm.py +++ b/bitbake/lib/bb/fetch2/npm.py | |||
@@ -258,17 +258,23 @@ class Npm(FetchMethod): | |||
258 | 258 | ||
259 | shwrf = d.getVar('NPM_SHRINKWRAP', True) | 259 | shwrf = d.getVar('NPM_SHRINKWRAP', True) |
260 | logger.debug(2, "NPM shrinkwrap file is %s" % shwrf) | 260 | logger.debug(2, "NPM shrinkwrap file is %s" % shwrf) |
261 | try: | 261 | if shwrf: |
262 | with open(shwrf) as datafile: | 262 | try: |
263 | shrinkobj = json.load(datafile) | 263 | with open(shwrf) as datafile: |
264 | except: | 264 | shrinkobj = json.load(datafile) |
265 | except Exception as e: | ||
266 | raise FetchError('Error loading NPM_SHRINKWRAP file "%s" for %s: %s' % (shwrf, ud.pkgname, str(e))) | ||
267 | elif not ud.ignore_checksums: | ||
265 | logger.warning('Missing shrinkwrap file in NPM_SHRINKWRAP for %s, this will lead to unreliable builds!' % ud.pkgname) | 268 | logger.warning('Missing shrinkwrap file in NPM_SHRINKWRAP for %s, this will lead to unreliable builds!' % ud.pkgname) |
266 | lckdf = d.getVar('NPM_LOCKDOWN', True) | 269 | lckdf = d.getVar('NPM_LOCKDOWN', True) |
267 | logger.debug(2, "NPM lockdown file is %s" % lckdf) | 270 | logger.debug(2, "NPM lockdown file is %s" % lckdf) |
268 | try: | 271 | if lckdf: |
269 | with open(lckdf) as datafile: | 272 | try: |
270 | lockdown = json.load(datafile) | 273 | with open(lckdf) as datafile: |
271 | except: | 274 | lockdown = json.load(datafile) |
275 | except Exception as e: | ||
276 | raise FetchError('Error loading NPM_LOCKDOWN file "%s" for %s: %s' % (lckdf, ud.pkgname, str(e))) | ||
277 | elif not ud.ignore_checksums: | ||
272 | logger.warning('Missing lockdown file in NPM_LOCKDOWN for %s, this will lead to unreproducible builds!' % ud.pkgname) | 278 | logger.warning('Missing lockdown file in NPM_LOCKDOWN for %s, this will lead to unreproducible builds!' % ud.pkgname) |
273 | 279 | ||
274 | if ('name' not in shrinkobj): | 280 | if ('name' not in shrinkobj): |