Tags 734656 - d-i

On Wed, Jan 08, 2014 at 10:25:05PM +0000, luke wrote:
> Package: nodejs
> Version: 0.10.24~dfsg1-1
> Severity: grave
> Tags: d-i

Why d-i?

> Dear Maintainer,
> Attempting to use many programs installed with `npm install` fails before
> execution because the Node.js interpreter installed by dpkg/synaptic is not at
> the expected path.  The node binary is named 'nodejs' on Debian, but the node
> community expects the de-facto standard of '#!/usr/bin/env node'.

Please see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614907 for
background on the node / node.js naming issue.

> I understand this is a tricky issue, as Javascript was never really designed 
> to
> be run like a shell script, and does not have the heritage of many other Linux
> shell languages.  Additionally, it is unclear from the Node.js project what 
> the
> official name of the binary should be. That said, here are the accepted
> shebangs for some other interpreters:
> #!/usr/bin/env python
> #!/usr/bin/env/ lua
                ^ that's not right :)

> #!/usr/bin/env perl
> All references to node shebangs I can find on the internet converge on
> #!/usr/bin/env node which is why this issue prevents many npm packages to fail
> to run.
>    * What exactly did you do (or not do) that was effective (or
>      ineffective)?
> Creating a symlink as root: /usr/bin/node -> /usr/bin/nodejs solves the issue
> as far as I can tell.

Sounds like a perfect workaround.

> ln -s -T /usr/bin/nodejs /usr/bin/node && chmod 755 /usr/bin/node
> A quick search of the Sid repositories doesn't show any conflicts with files
> installing to the path /usr/bin/node

Try the package: `node'. It's  not in /usr/bin, but it's on ${PATH}. In
fact, since you're using `env', it's double not clear.

> so doing the simple symlink within the
> Debian installer may be sufficient.

No way. There's a node-legacy package which does this. No need to
involve the installer.

>    * What was the outcome of this action?
> Standard node scripts run correctly as the de-facto node shebang(
> #!/usr/bin/env node) now resolves to 'node' in the user's $PATH
> I'm not very well clued on how this may affect other Debian packages, but 
> works
> in my little world, and this may extend further.
>    * What outcome did you expect instead?
> The expected behaviour is for the Debian package to install nodejs with a
> binary resolvable by the name supported by the node community and existing
> software, rather than with a name that refelects Node.js confusing
> project/binary naming schemes.  Potentially even better would be to support
> 'nodejs' and 'node', but plan to converge on '/usr/bin/node' for the future.

As much as I disagree with ctte on this, I'm afraid that this won't
change. I'd close this, but I'll leave that for the maintainers of node
to do.


 .''`.  Paul Tagliamonte <paul...@debian.org>  |   Proud Debian Developer
: :'  : 4096R / 8F04 9AD8 2C92 066C 7352  D28A 7B58 5B30 807C 2A87
`. `'`  http://people.debian.org/~paultag
 `-     http://people.debian.org/~paultag/conduct-statement.txt

Attachment: signature.asc
Description: Digital signature

Pkg-javascript-devel mailing list

Reply via email to