Skip to content

Commit

Permalink
tools: do not rewrite npm shebang in install.py
Browse files Browse the repository at this point in the history
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: #6095
PR-URL: #6098
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
  • Loading branch information
evanlucas authored and jasnell committed Apr 9, 2016
1 parent 1384de2 commit 8ffa20c
Showing 1 changed file with 0 additions and 16 deletions.
16 changes: 0 additions & 16 deletions tools/install.py
Original file line number Diff line number Diff line change
Expand Up @@ -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/'

Expand All @@ -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

Expand Down

0 comments on commit 8ffa20c

Please sign in to comment.