2022-06-28 16:02:30 +02:00
|
|
|
Index: node-v18.4.0/tools/install.py
|
2022-05-19 17:11:22 +02:00
|
|
|
===================================================================
|
2022-06-28 16:02:30 +02:00
|
|
|
--- node-v18.4.0.orig/tools/install.py
|
|
|
|
+++ node-v18.4.0/tools/install.py
|
2022-05-19 17:11:22 +02:00
|
|
|
@@ -7,6 +7,8 @@ import errno
|
|
|
|
import os
|
|
|
|
import shutil
|
|
|
|
import sys
|
|
|
|
+from distutils import sysconfig
|
|
|
|
+import re
|
|
|
|
|
|
|
|
# set at init time
|
|
|
|
node_prefix = '/usr/local' # PREFIX variable from Makefile
|
|
|
|
@@ -65,6 +67,10 @@ def try_copy(path, dst):
|
|
|
|
try_unlink(target_path) # prevent ETXTBSY errors
|
|
|
|
return shutil.copy2(source_path, target_path)
|
|
|
|
|
|
|
|
+def libdir():
|
|
|
|
+ libdir_fq = sysconfig.get_config_var("LIBDIR")
|
|
|
|
+ return re.sub("^" + re.escape(node_prefix + "/"), "", libdir_fq)
|
|
|
|
+
|
|
|
|
def try_remove(path, dst):
|
|
|
|
source_path, target_path = mkpaths(path, dst)
|
|
|
|
print('removing %s' % target_path)
|
|
|
|
@@ -80,7 +86,7 @@ def uninstall(paths, dst):
|
|
|
|
try_remove(path, dst)
|
|
|
|
|
|
|
|
def package_files(action, name, bins):
|
|
|
|
- target_path = 'lib/node_modules/' + name + '/'
|
|
|
|
+ target_path = libdir() + '/node_modules/' + name + '/'
|
|
|
|
|
|
|
|
# don't install npm if the target path is a symlink, it probably means
|
|
|
|
# that a dev version of npm is installed there
|
|
|
|
@@ -100,7 +106,7 @@ def package_files(action, name, bins):
|
|
|
|
if action == uninstall:
|
|
|
|
action([link_path], 'bin/' + bin_name)
|
|
|
|
elif action == install:
|
|
|
|
- try_symlink('../lib/node_modules/' + name + '/' + bin_target, link_path)
|
|
|
|
+ try_symlink('../' + libdir() + '/node_modules/' + name + '/' + bin_target, link_path)
|
|
|
|
else:
|
|
|
|
assert 0 # unhandled action type
|
|
|
|
|
|
|
|
@@ -145,7 +151,7 @@ def files(action):
|
|
|
|
output_lib = 'libnode.' + variables.get('shlib_suffix')
|
|
|
|
action([output_prefix + output_lib], 'lib/' + output_lib)
|
|
|
|
if 'true' == variables.get('node_use_dtrace'):
|
|
|
|
- action(['out/Release/node.d'], 'lib/dtrace/node.d')
|
|
|
|
+ action(['out/Release/node.d'], libdir() + '/dtrace/node.d')
|
|
|
|
|
|
|
|
# behave similarly for systemtap
|
|
|
|
action(['src/node.stp'], 'share/systemtap/tapset/')
|
2022-06-28 16:02:30 +02:00
|
|
|
Index: node-v18.4.0/lib/internal/modules/cjs/loader.js
|
2022-05-19 17:11:22 +02:00
|
|
|
===================================================================
|
2022-06-28 16:02:30 +02:00
|
|
|
--- node-v18.4.0.orig/lib/internal/modules/cjs/loader.js
|
|
|
|
+++ node-v18.4.0/lib/internal/modules/cjs/loader.js
|
|
|
|
@@ -1247,7 +1247,7 @@ Module._initPaths = function() {
|
2022-05-19 17:11:22 +02:00
|
|
|
path.resolve(process.execPath, '..') :
|
|
|
|
path.resolve(process.execPath, '..', '..');
|
|
|
|
|
|
|
|
- const paths = [path.resolve(prefixDir, 'lib', 'node')];
|
|
|
|
+ const paths = ['/usr/lib/node'];
|
|
|
|
|
|
|
|
if (homeDir) {
|
|
|
|
ArrayPrototypeUnshift(paths, path.resolve(homeDir, '.node_libraries'));
|