diff options
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/npm.bbclass | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass index d5ff0c6d57..30febcffb2 100644 --- a/meta/classes/npm.bbclass +++ b/meta/classes/npm.bbclass | |||
| @@ -10,7 +10,7 @@ def node_pkgname(d): | |||
| 10 | 10 | ||
| 11 | NPMPN ?= "${@node_pkgname(d)}" | 11 | NPMPN ?= "${@node_pkgname(d)}" |
| 12 | 12 | ||
| 13 | NPM_INSTALLDIR = "${D}${libdir}/node/${NPMPN}" | 13 | NPM_INSTALLDIR = "${libdir}/node/${NPMPN}" |
| 14 | 14 | ||
| 15 | # function maps arch names to npm arch names | 15 | # function maps arch names to npm arch names |
| 16 | def npm_oe_arch_map(target_arch, d): | 16 | def npm_oe_arch_map(target_arch, d): |
| @@ -52,9 +52,10 @@ npm_do_install() { | |||
| 52 | # changing the home directory to the working directory, the .npmrc will | 52 | # changing the home directory to the working directory, the .npmrc will |
| 53 | # be created in this directory | 53 | # be created in this directory |
| 54 | export HOME=${WORKDIR} | 54 | export HOME=${WORKDIR} |
| 55 | mkdir -p ${NPM_INSTALLDIR}/ | 55 | mkdir -p ${D}${libdir}/node_modules |
| 56 | npm pack . | 56 | npm pack . |
| 57 | npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPMPN}-${PV}.tgz | 57 | npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPMPN}-${PV}.tgz |
| 58 | mv ${D}${libdir}/node_modules ${D}${libdir}/node | ||
| 58 | if [ -d ${D}${prefix}/etc ] ; then | 59 | if [ -d ${D}${prefix}/etc ] ; then |
| 59 | # This will be empty | 60 | # This will be empty |
| 60 | rmdir ${D}${prefix}/etc | 61 | rmdir ${D}${prefix}/etc |
| @@ -62,13 +63,13 @@ npm_do_install() { | |||
| 62 | } | 63 | } |
| 63 | 64 | ||
| 64 | python populate_packages_prepend () { | 65 | python populate_packages_prepend () { |
| 65 | instdir = d.expand('${D}${libdir}/node_modules/${NPMPN}') | 66 | instdir = d.expand('${D}${NPM_INSTALLDIR}') |
| 66 | extrapackages = oe.package.npm_split_package_dirs(instdir) | 67 | extrapackages = oe.package.npm_split_package_dirs(instdir) |
| 67 | pkgnames = extrapackages.keys() | 68 | pkgnames = extrapackages.keys() |
| 68 | d.prependVar('PACKAGES', '%s ' % ' '.join(pkgnames)) | 69 | d.prependVar('PACKAGES', '%s ' % ' '.join(pkgnames)) |
| 69 | for pkgname in pkgnames: | 70 | for pkgname in pkgnames: |
| 70 | pkgrelpath, pdata = extrapackages[pkgname] | 71 | pkgrelpath, pdata = extrapackages[pkgname] |
| 71 | pkgpath = '${libdir}/node_modules/${NPMPN}/' + pkgrelpath | 72 | pkgpath = '${NPM_INSTALLDIR}/' + pkgrelpath |
| 72 | # package names can't have underscores but npm packages sometimes use them | 73 | # package names can't have underscores but npm packages sometimes use them |
| 73 | oe_pkg_name = pkgname.replace('_', '-') | 74 | oe_pkg_name = pkgname.replace('_', '-') |
| 74 | expanded_pkgname = d.expand(oe_pkg_name) | 75 | expanded_pkgname = d.expand(oe_pkg_name) |
| @@ -84,7 +85,7 @@ python populate_packages_prepend () { | |||
| 84 | } | 85 | } |
| 85 | 86 | ||
| 86 | FILES_${PN} += " \ | 87 | FILES_${PN} += " \ |
| 87 | ${libdir}/node_modules/${NPMPN} \ | 88 | ${NPM_INSTALLDIR} \ |
| 88 | " | 89 | " |
| 89 | 90 | ||
| 90 | EXPORT_FUNCTIONS do_compile do_install | 91 | EXPORT_FUNCTIONS do_compile do_install |
