On Wed, Jul 22, 2020 at 8:24 AM Troy Dawson <tdaw...@redhat.com> wrote: > > On Wed, Jul 22, 2020 at 6:31 AM Ben Rosser <rosser....@gmail.com> wrote: > > > > On Tue, Jul 21, 2020 at 10:56 AM Tom Hughes via nodejs > > <nodejs@lists.fedoraproject.org> wrote: > > > > > > On 21/07/2020 15:39, Troy Dawson wrote: > > > > > > > Problem2: Many of the bundled libraries are archful, meaning they need > > > > to be compiled. What if an essential nodejs library was originally a > > > > noarch? > > > > Solution2: All bundled nodejs library packages will be treached as > > > > archful, meaning they will need to be built on each supported arch. > > > > > > I think "many" is stretching things. > > > > > > There were never more than about a dozen or so archful modules in > > > Fedora and most of them were not widely used. > > > > > > I suspect that archful modules are probably best kept packaged as > > > they are now mostly just because trying to build them as part of > > > a large bundled tree is going to be incredibly painful. > > > > I think this makes sense as well. Essentially, we should just say that > > archful nodejs modules are "essential" (in the words of the proposal) > > and therefore need to be packaged and shipped separately. > > > > I think a "npm2rpm" script would have to do a couple things-- does > > this sound about right? > > > > a) recursively parse package.json to get a list of all dependencies > > and tarballs, and use this to write out a list of Sources. > > b) for each package, also look at package.json to see what files need > > to be installed, and write out instructions for the %install section. > > c) generate a "License" field for the package and also install all the > > relevant licenses in %license. > > > > There should probably be a way to specify that a given dependency is > > not being bundled too, to stop the parser from descending into that > > dependency tree. I imagine that (at least during the transition to > > this and maybe afterwards, in the case of archful or essential > > modules) it would be very useful to have packages with a mixture of > > bundled and unbundled dependencies. > > > > Ben Rosser > > > > You are both right. > Odd as it seems, I kept seeing nodejs-sqlite3 come up, which is archful. > I had never done a real search. > It turns out that the various packages I had been working on require > it, and only two other packages. > > So ya, Ben, I like you idea. I was looking at a very skewed view. > > Troy
Sorry for being so quiet. I was going through all of Fedora's dependencies, and double checking my results because I was having a hard time believing what I was seeing. I wanted to get a list of essential nodejs packages, and I thought of getting a list of nodejs packages that are required by non-nodejs packages. That list is amazingly small. # Binaries / Runtime packages statsd -> nodejs-generic-pool R-shiny -> nodejs-showdown notepadqq -> nodejs-shelljs mocha -> uglify-js and nodejs-jade kosmtik -> 11 nodejs libraries jake -> 5 nodejs libraries elasticdump -> 3 nodejs libraries discord-irc -> 10 nodejs libraries carto -> 4 nodejs libraries # Source Dependencies statsd R-shiny python-webassets perl-Mojolicious-Plugin-AssetPack mocha kosmtik jake elasticdump discord-irc carto Note: Due to the current high volume of uninstallable packages, and being in the middle of a mass rebuild, it's possible I'm off by a few packages. I also left off js-jquery*. But even if you think we should include the js-* packages, that's still only about 5-10 more packages. Most of the binary/runtime dependencies did not have many duplicates. So we are looking at 30-40 packages if we wanted to consider all of them "essential". I would think it would be better to have the high volume ones (jake, kosmtik, discord-irc) bundle their nodejs dependencies. So, after this exercise, I'm sort of at a loss as to what we would consider essential. So I'm going to throw out a short list. Please add or subtract from it. Once we figure on a list, we can start figuring out a plan on how to trim Fedora down to that list. nodejs (Have to have) npm (Have to have) yarnpkg js-jquery uglify-js Thanks Troy _______________________________________________ nodejs mailing list -- nodejs@lists.fedoraproject.org To unsubscribe send an email to nodejs-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/nodejs@lists.fedoraproject.org