[oe-commits] [bitbake] 02/10: fetch2: npm: conditionally hide NPM_LOCKDOWN / NPM_SHRINKWRAP warnings

git at git.openembedded.org git at git.openembedded.org
Wed Nov 16 11:42:36 UTC 2016


rpurdie pushed a commit to branch master-next
in repository bitbake.

commit 40552769cb3dc26826de5b9b4a4edcf3bf72555a
Author: Paul Eggleton <paul.eggleton at linux.intel.com>
AuthorDate: Wed Nov 16 09:11:03 2016 +1300

    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].
    
    Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/fetch2/npm.py | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/lib/bb/fetch2/npm.py b/lib/bb/fetch2/npm.py
index 699ae72..c3e02e4 100644
--- a/lib/bb/fetch2/npm.py
+++ b/lib/bb/fetch2/npm.py
@@ -258,17 +258,23 @@ class Npm(FetchMethod):
 
         shwrf = d.getVar('NPM_SHRINKWRAP', True)
         logger.debug(2, "NPM shrinkwrap file is %s" % shwrf)
-        try:
-            with open(shwrf) as datafile:
-                shrinkobj = json.load(datafile)
-        except:
+        if shwrf:
+            try:
+                with open(shwrf) as datafile:
+                    shrinkobj = json.load(datafile)
+            except Exception as e:
+                raise FetchError('Error loading NPM_SHRINKWRAP file "%s" for %s: %s' % (shwrf, ud.pkgname, str(e)))
+        elif not ud.ignore_checksums:
             logger.warning('Missing shrinkwrap file in NPM_SHRINKWRAP for %s, this will lead to unreliable builds!' % ud.pkgname)
         lckdf = d.getVar('NPM_LOCKDOWN', True)
         logger.debug(2, "NPM lockdown file is %s" % lckdf)
-        try:
-            with open(lckdf) as datafile:
-                lockdown = json.load(datafile)
-        except:
+        if lckdf:
+            try:
+                with open(lckdf) as datafile:
+                    lockdown = json.load(datafile)
+            except Exception as e:
+                raise FetchError('Error loading NPM_LOCKDOWN file "%s" for %s: %s' % (lckdf, ud.pkgname, str(e)))
+        elif not ud.ignore_checksums:
             logger.warning('Missing lockdown file in NPM_LOCKDOWN for %s, this will lead to unreproducible builds!' % ud.pkgname)
 
         if ('name' not in shrinkobj):

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list