I'm emailing partly to introduce myself, and partly with a few questions
about the best way to go about packaging programs based on node.js for
I've been interested in the buddycloud (buddycloud.org) federated social
network project since late last year when I set up a server on the
network. I offered to have a go at packaging their server and web client
for debian, both of which use node.js. I posted on the debian mentors
list asking for help with this, and Jonas Smedegaard replied to me
saying he was already working on this and did I want to help?
I've thought about this, and I would like to contribute some time to
helping with packaging buddycloud for debian; however I'm also realising
as I look into it, that this is potentially quite a complex task, due to
the large number of library dependencies used by the buddycloud
programs, each of which presumably need to be packaged as well. So I'm
now thinking of it as something I can give a bit of time to each week
over a long period.
I've made a start on cataloging the dependencies and sub-dependencies of
the web client here:
Once I've done this, I'm thinking that I'll pick a simple module with no
dependencies and try packaging that, so as to get a better idea of how
It would help if I had a better idea of what the Debian policy is (if
any) on packaging node.js modules, so that I have a better idea of what
I'm working towards. My main question is whether it's necessary to have
a separate package for every dependency of a node.js program, and if so
how the debian package is meant to work with the existing node build /
package management framework? Is there any document on the web about this?
It seems to me that it would be technically possible to make a working
debian package for the buddycloud webclient using the program's existing
build framework, which installs all the program's dependencies in
subdirectories, and compiles everything into a single build.tar.gz
package. This wouldn't be too hard to do, but I don't know if this
approach is suitable for an official debian package, and if not what are
the specific reasons for not doing it that way?