From fea932c79c8201e3e7649f4443874ea540e33461 Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Tue, 12 Apr 2016 10:58:39 +0100 Subject: npm.bbclass: Stop packagenames containing underscores from being generated Package names cannot contain underscores yet some npm modules use them as part of the name, replace them with hyphens in the package name. Signed-off-by: Brendan Le Foll Signed-off-by: Ross Burton --- meta/classes/npm.bbclass | 6 ++++-- meta/lib/oe/package.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass index 33ff5e3f45..9843e87350 100644 --- a/meta/classes/npm.bbclass +++ b/meta/classes/npm.bbclass @@ -28,7 +28,9 @@ python populate_packages_prepend () { for pkgname in pkgnames: pkgrelpath, pdata = extrapackages[pkgname] pkgpath = '${libdir}/node_modules/${PN}/' + pkgrelpath - expanded_pkgname = d.expand(pkgname) + # package names can't have underscores but npm packages sometimes use them + oe_pkg_name = pkgname.replace('_', '-') + expanded_pkgname = d.expand(oe_pkg_name) d.setVar('FILES_%s' % expanded_pkgname, pkgpath) if pdata: version = pdata.get('version', None) @@ -37,7 +39,7 @@ python populate_packages_prepend () { description = pdata.get('description', None) if description: d.setVar('SUMMARY_%s' % expanded_pkgname, description.replace(u"\u2018", "'").replace(u"\u2019", "'").encode("utf8")) - d.appendVar('RDEPENDS_%s' % d.getVar('PN', True), ' %s' % ' '.join(pkgnames)) + d.appendVar('RDEPENDS_%s' % d.getVar('PN', True), ' %s' % ' '.join(pkgnames).replace('_', '-')) } FILES_${PN} += " \ diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index dea443d658..2887689541 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -143,7 +143,7 @@ def npm_split_package_dirs(pkgdir): if pathitem == 'node_modules': continue pkgitems.append(pathitem) - pkgname = '-'.join(pkgitems) + pkgname = '-'.join(pkgitems).replace('_', '-') pkgfile = os.path.join(root, dn, 'package.json') data = None if os.path.exists(pkgfile): -- cgit 1.2.3-korg