From 8ffa20c495bef1522142b7f80322d900299e2511 Mon Sep 17 00:00:00 2001 From: Evan Lucas Date: Thu, 7 Apr 2016 06:27:41 -0500 Subject: [PATCH] tools: do not rewrite npm shebang in install.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rewriting npm shebang in install.py violates user expectations among other things. The shebang in npm.js is kept as #!/usr/bin/env node. Fixes: https://github.com/nodejs/node/issues/6095 PR-URL: https://github.com/nodejs/node/pull/6098 Reviewed-By: Ben Noordhuis Reviewed-By: Myles Borins Reviewed-By: James M Snell Reviewed-By: Johan Bergström --- tools/install.py | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/tools/install.py b/tools/install.py index 6c3570fa75..d92e656369 100755 --- a/tools/install.py +++ b/tools/install.py @@ -79,12 +79,6 @@ def try_remove(path, dst): def install(paths, dst): map(lambda path: try_copy(path, dst), paths) def uninstall(paths, dst): map(lambda path: try_remove(path, dst), paths) -def update_shebang(path, shebang): - print 'updating shebang of %s to %s' % (path, shebang) - s = open(path, 'r').read() - s = re.sub(r'#!.*\n', '#!' + shebang + '\n', s) - open(path, 'w').write(s) - def npm_files(action): target_path = 'lib/node_modules/npm/' @@ -105,16 +99,6 @@ def npm_files(action): action([link_path], 'bin/npm') elif action == install: try_symlink('../lib/node_modules/npm/bin/npm-cli.js', link_path) - if os.environ.get('PORTABLE'): - # This crazy hack is necessary to make the shebang execute the copy - # of node relative to the same directory as the npm script. The precompiled - # binary tarballs use a prefix of "/" which gets translated to "/bin/node" - # in the regular shebang modifying logic, which is incorrect since the - # precompiled bundle should be able to be extracted anywhere and "just work" - shebang = '/bin/sh\n// 2>/dev/null; exec "`dirname "$0"`/node" "$0" "$@"' - else: - shebang = os.path.join(node_prefix or '/', 'bin/node') - update_shebang(link_path, shebang) else: assert(0) # unhandled action type