From Fedora Project Wiki
No edit summary
No edit summary
Line 16: Line 16:
== Integrating NPM with RPM ==
== Integrating NPM with RPM ==


npm2rpm to generate the packages automagically: [https://github.com/lkundrak/npm2rpm]
npm2rpm generates the RPM package skeletons from NPM metadata automatically (analogously to cpanspec): [https://github.com/lkundrak/npm2rpm]


What's below is mostly a list of  NPM characteristics that look like deficiencies from RPM point of view.
What's below is mostly a list of  NPM characteristics that look like deficiencies from RPM point of view.

Revision as of 15:41, 20 December 2010

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

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

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