From 115781093ccab7841f3512d555b0df38c364ddd5 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Mon, 2 Apr 2018 15:21:44 +0100
Subject: [PATCH] Install worker-farm to fix cpu detection bug

---
 src/freedombone-utils-nodejs | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/freedombone-utils-nodejs b/src/freedombone-utils-nodejs
index 8ec31efe6..7818d2a73 100755
--- a/src/freedombone-utils-nodejs
+++ b/src/freedombone-utils-nodejs
@@ -60,6 +60,13 @@ function get_npm_arch {
     fi
 }
 
+function nodejs_fix_cpu_detection {
+    if [ -f "$rootdir/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js" ]; then
+        # fix for failing cpu detection during image build with qemu, see https://github.com/npm/npm/issues/19265
+        sed -i "s|require('os').cpus.*|1|g" "$rootdir/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js"
+    fi
+}
+
 function mesh_install_nodejs {
     mesh_install_nodejs_prefix=
     if [ "$rootdir" ]; then
@@ -130,10 +137,9 @@ function mesh_install_nodejs {
     get_npm_arch
 
     $mesh_install_nodejs_prefix npm config set unsafe-perm true
-    if [ -f "$rootdir/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js" ]; then
-        # fix for failing cpu detection during image build with qemu, see https://github.com/npm/npm/issues/19265
-        sed -i "s|require('os').cpus().length|1|g" "$rootdir/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js"
-    fi
+    nodejs_fix_cpu_detection
+    # installing worker farm fixes the cpu detection bug
+    $mesh_install_nodejs_prefix npm install --arch=$NPM_ARCH -g worker-farm@1.5.2 --save
     $mesh_install_nodejs_prefix npm install --arch=$NPM_ARCH -g npm@${NPM_VERSION} --save
     if [ -f "$rootdir/usr/local/bin/npm" ]; then
         cp "$rootdir/usr/local/bin/npm" /usr/bin/npm
-- 
GitLab