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.

(From OE-Core rev: fea932c79c8201e3e7649f4443874ea540e33461)

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Brendan Le Foll 2016-04-12 10:58:39 +01:00 committed by Richard Purdie
parent c3c55478f5
commit 69e20cade6
2 changed files with 5 additions and 3 deletions

View File

@ -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} += " \

View File

@ -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):