Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/wafadmin/Build.py2
-rw-r--r--wscript14
2 files changed, 15 insertions, 1 deletions
diff --git a/tools/wafadmin/Build.py b/tools/wafadmin/Build.py
index 10700ec20e4..07904868cee 100644
--- a/tools/wafadmin/Build.py
+++ b/tools/wafadmin/Build.py
@@ -773,7 +773,7 @@ class BuildContext(Utils.Context):
try:
shutil.copy2(src, tgt)
- os.chmod(tgt, chmod)
+ if chmod < 0: os.chmod(tgt, chmod)
except IOError:
try:
os.stat(src)
diff --git a/wscript b/wscript
index f72a33e3777..3c5bda4ee26 100644
--- a/wscript
+++ b/wscript
@@ -969,6 +969,20 @@ def build(bld):
bld.install_files('${PREFIX}/bin/', 'tools/node-waf', chmod=0755)
bld.install_files('${LIBDIR}/node/wafadmin', 'tools/wafadmin/*.py')
bld.install_files('${LIBDIR}/node/wafadmin/Tools', 'tools/wafadmin/Tools/*.py')
+ install_npm(bld)
+
+def install_npm(bld):
+ start_dir = bld.path.find_dir('deps/npm')
+ # The chmod=-1 is a Node hack. We changed WAF so that when chmod was set to
+ # -1 that the same permission in this tree are used. Necessary to get
+ # npm-cli.js to be executable without having to list every file in NPM.
+ bld.install_files('${LIBDIR}/node_modules/npm',
+ start_dir.ant_glob('**/*'),
+ cwd=start_dir,
+ relative_trick=True,
+ chmod=0)
+ bld.symlink_as('${PREFIX}/bin/npm',
+ '../lib/node_modules/npm/bin/npm-cli.js')
def shutdown():
Options.options.debug