On Tue, 2020-03-03 at 10:00 -0800, Khem Raj wrote: > > On 3/3/20 9:28 AM, André Draszik wrote: > > From: André Draszik <[email protected]> > > > > During the python3 / nodejs update, the dependencies weren't updated, so > > using system-gyp ends up trying to use the python2 version of system- > > gyp, which will of course fail. > > Fixing this to depend on the python3 version of gyp still doesn't > > doesn't make things work, though: > > ERROR: nodejs-native-12.14.1-r0 do_configure: Execution of > > '.../nodejs-native/12.14.1- > > r0/temp/run.do_configure.26054' failed with exit code 1: > > gyp: Error importing pymod_do_mainmodule (ForEachFormat): No module > > named 'ForEachFormat' while loading > > dependencies of .../nodejs-native/12.14.1-r0/node-v12.14.1/node.gyp while > > trying to load .../nodejs-native/12.14.1- > > r0/node-v12.14.1/node.gyp > > Error running GYP > > > > The reason is the following patch nodejs has applied to its version of gyp > > as > > of NodeJS v12 (commit fff922afee6e ("deps,build: compute torque_outputs in > > v8.gyp") > > upstream): > > > > --- gyp/pylib/gyp/input.py 2020-03-02 12:36:30.788248197 +0000 > > +++ node.git/tools/gyp/pylib/gyp/input.py 2020-03-02 12:16:09.956707788 > > +0000 > > @@ -890,6 +881,7 @@ def ExpandVariables(input, phase, variab > > oldwd = os.getcwd() # Python doesn't like os.open('.'): no > > fchdir. > > if build_file_dir: # build_file_dir may be None (see above). > > os.chdir(build_file_dir) > > + sys.path.append(os.getcwd()) > > try: > > > > parsed_contents = shlex.split(contents) > > @@ -900,6 +892,7 @@ def ExpandVariables(input, phase, variab > > "module (%s): %s" % (parsed_contents[0], e)) > > replacement = > > str(py_module.DoMain(parsed_contents[1:])).rstrip() > > finally: > > + sys.path.pop() > > os.chdir(oldwd) > > assert replacement != None > > elif command_string: > > Please avoid adding diffs to commit message, this confuses git am > perhaps better to express the change with few words.
Sorry Khem, I didn't think of that... Done. A. > > > Since I'm not sure how to deal with that when using system-gyp, and because > > the original intention for using system-gyp was to make the previous nodejs > > version compatible with python3 by ultimately switching to the python3 > > version > > of system-gyp which isn't necessary anymore, and given nobody else seems to > > be using this PACKAGECONFIG, just drop it. > > > > Signed-off-by: André Draszik <[email protected]> > > --- > > meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb | 3 --- > > 1 file changed, 3 deletions(-) > > > > diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb > > b/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb > > index 6eb52c209..49bb71e28 100644 > > --- a/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb > > +++ b/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb > > @@ -53,7 +53,6 @@ ARCHFLAGS ?= "" > > > > PACKAGECONFIG ??= "ares icu libuv zlib" > > PACKAGECONFIG[ares] = "--shared-cares,,c-ares" > > -PACKAGECONFIG[gyp] = ",,gyp-py2-native" > > PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" > > PACKAGECONFIG[libuv] = "--shared-libuv,,libuv" > > PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2" > > @@ -82,8 +81,6 @@ python do_unpack() { > > shutil.rmtree(d.getVar('S') + '/deps/openssl', True) > > if 'ares' in d.getVar('PACKAGECONFIG'): > > shutil.rmtree(d.getVar('S') + '/deps/cares', True) > > - if 'gyp' in d.getVar('PACKAGECONFIG'): > > - shutil.rmtree(d.getVar('S') + '/tools/gyp', True) > > if 'libuv' in d.getVar('PACKAGECONFIG'): > > shutil.rmtree(d.getVar('S') + '/deps/uv', True) > > if 'nghttp2' in d.getVar('PACKAGECONFIG'): > > -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
