[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4527/8267] bitbake: fetch2/npm: fix handling of os field



commit 8e61d6d8b79a76512d1fcb078fc92da881f9b2cb
Author: Paul Eggleton <paul eggleton linux intel com>
Date:   Tue Feb 7 09:08:51 2017 +1300

    bitbake: fetch2/npm: fix handling of os field
    
    When I originally added this check I didn't quite understand how the
    values in this field should be expressed - it seems from reading the
    documentation if there is an entry starting with '!' then the list is
    a blacklist and we shouldn't expect "linux" to be in the list, or we'll
    end up skipping important dependencies.
    
    This fixes fetching the "statsd" npm package.
    
    Fixes [YOCTO #10760].
    
    (Bitbake rev: 7aa6d1586417e0e7d9925917a82caee5884957db)
    
    Signed-off-by: Paul Eggleton <paul eggleton linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/fetch2/npm.py |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/bitbake/lib/bb/fetch2/npm.py b/bitbake/lib/bb/fetch2/npm.py
index 8c32f81..15b281f 100644
--- a/bitbake/lib/bb/fetch2/npm.py
+++ b/bitbake/lib/bb/fetch2/npm.py
@@ -182,7 +182,12 @@ class Npm(FetchMethod):
             if pkg_os:
                 if not isinstance(pkg_os, list):
                     pkg_os = [pkg_os]
-                if 'linux' not in pkg_os or '!linux' in pkg_os:
+                blacklist = False
+                for item in pkg_os:
+                    if item.startswith('!'):
+                        blacklist = True
+                        break
+                if (not blacklist and 'linux' not in pkg_os) or '!linux' in pkg_os:
                     logger.debug(2, "Skipping %s since it's incompatible with Linux" % pkg)
                     return
         #logger.debug(2, "Output URL is %s - %s - %s" % (ud.basepath, ud.basename, ud.localfile))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]