From Fedora Project Wiki

< User:Lkundrak

Revision as of 15:52, 20 December 2010 by Lkundrak (talk | contribs)

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Packaging node.js in Fedora

Note this is work in progess!

node.js[1] is an asynchronous I/O based runtime for v8[2] javascript engine.

The purpose of this page is to keep track of node.js packaging state, so that it's easy for anyone to to join the efforts and contribute. It may serve as tracker to aid transparent communication of problems we communicate solve with aid of node.js community outside Fedora (so that they know what bothers us :).

Versioning

Node.js is dependent on v8 and as such, it needs to coordinate version updates with v8 package.

Packages and reviews

Integrating NPM with RPM

What's the point? I suggest you take a brief look at first few slides of my rubygem packaging presentation, just replace "ruby" with "node.js": [3]

npm2rpm generates the RPM package skeletons from NPM metadata automatically (analogously to cpanspec): [4]

What's below is mostly a list of NPM characteristics that look like deficiencies from RPM point of view. More-or-less ordered from most important to least.

  • Does not use pristine upstream sources, not all node.js components in the wild contain package.json
  • Unable to install to different location than what dependencies are dragged from, prevents clean unprivileged installations
    • Installing a package modifies the installed one's metadata (!?) (the dependedby symlinks)
  • Upstreams use very wild directory names in tarballs (such as: timestamp). Standardize that?
  • Useful fields are sometimes missing (license tag, homepage URL)
  • A way to skip version symlinking would be nice