tree d476c19d23ba3048e76da1770a4cf7f6001edbf0
parent 0b7d07b734cd9335729217b2d2dadf3cb66e9919
author Gunnar Mills <gmills@us.ibm.com> 1588090196 -0500
committer Gunnar Mills <gmills@us.ibm.com> 1588093343 -0500

Python3 Support: Force node-gyp to 6.1.0

The version of node-gyp, ^3.8.0, used by node-sass does not support
Python 3 only environments.

Starting with node-gyp 5.0.0, support for Python 3 only was added.

Added node-gyp 6.1.0 to package.json and edited the node-sass
"requires" in package-lock.json to force node-sass to use this
version.

This problem can be seen if building an image or the webui
recipe with the meta-oe and poky subtree bumps:
https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/31299
https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/31297

This poky refresh deprecates python2. From the mailing list:
https://lists.ozlabs.org/pipermail/openbmc/2020-February/020421.html

node-sass knows of this issue and has a fix, same fix as this,
move node-gyp to 6.1.0, but that fix isn't in a release yet.
Asked for a timeline of when a release with this fix will
happen. This change can be removed after moving to a
version of node-sass with this fix.
https://github.com/sass/node-sass/issues/2877

Considered using https://www.npmjs.com/package/npm-force-resolutions
but required more packages and wasn't simple to make work.

Modifying package-lock.json manually is not recommended but
in this case until fixed upstream, not a better solution.

Tested: Built for a Witherspoon and no regression.
        Was able to build the GUI with change and 31299 / 31297.
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
Change-Id: I514395ca0ae2fda6d46cb7a2a3e70cc5b92be58d
