On Fri, Aug 4, 2017 at 6:48 AM, Stuart D Gathman <stuart(a)gathman.org> wrote:
I've started working on packaging scuttlebot for Fedora. I see
that we now have a Fedora package for every nodejs module. This makes it easy to map
directories in node_modules to package names - however, it means submitting hundreds of
packages to ever get scuttlebot submitted.
I'm wondering if there is a better way. A node module typically corresponds to a .o
file in a C library (with exceptions like libsodium). It is like having a separate
package for every function in glibc. Suppose we did this:
1) a nodejs-stdlib that includes all the common modules (a list to be argued over at
length :-) ). There is no penalty other than a small amount of disk space for unused
modules - just like with a C library.
2) other multi-module systems are combined - usually including all modules with the same
first word. For instance, all the pull stream modules begin with 'pull':
pull-abortable, pull-box-stream, pull-cat, pull-cont, etc. This would become nodejs-pull,
and include all the pull modules.
When the package name matches the first word of the module name, then determining the
package is still easy. When that is not the case, as with the proposed nodejs-stdlib,
then dnf can still search for npm(...)
Although this looks tempting, it's only looking at half the problem.
Versions
Nodejs modules get updated all the time, at different rates for
different packages.
If you had just one package for many modules, it would be getting
updated at an alarming rate.
Troy