[oe-commits] [openembedded-core] 07/62: npm.bbclass: Fix building node modules with npm at 5

git at git.openembedded.org git at git.openembedded.org
Tue Feb 6 11:07:08 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 2d7d2a460842c8747df17990970f22f4a11f36f6
Author: Böszörményi Zoltán <zboszor at pr.hu>
AuthorDate: Thu Feb 1 14:08:30 2018 +0100

    npm.bbclass: Fix building node modules with npm at 5
    
    npm cache clear throws an error with npm at 5 and suggests to
    use npm cache verify instead. But our cache is actually empty,
    so use npm cache clear --force.
    
    npm install in the source directory creates symlinks with npm at 5.
    
    Use a combination of npm pack and npm install module-version.tgz
    that works the same way with older and new npm versions and is
    guaranteed to create actual copies instead of directory symlinks.
    
    This change allows using nodejs 8.x LTS, tested with 8.9.4.
    
    Signed-off-by: Zoltán Böszörményi <zboszor at pr.hu>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/classes/npm.bbclass | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass
index a69bedb..898a54e 100644
--- a/meta/classes/npm.bbclass
+++ b/meta/classes/npm.bbclass
@@ -31,7 +31,7 @@ npm_do_compile() {
 	fi
 	npm set cache ${WORKDIR}/npm_cache
 	# clear cache before every build
-	npm cache clear
+	npm cache clear --force
 	# Install pkg into ${S} without going to the registry
 	if [  "${NPM_INSTALL_DEV}" = "1" ]; then
 		npm --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --no-registry install
@@ -45,7 +45,8 @@ npm_do_install() {
 	# be created in this directory
 	export HOME=${WORKDIR}
 	mkdir -p ${NPM_INSTALLDIR}/
-	npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry
+	npm pack .
+	npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${PN}-${PV}.tgz
 	if [ -d ${D}${prefix}/etc ] ; then
 		# This will be empty
 		rmdir ${D}${prefix}/etc

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


More information about the Openembedded-commits mailing list