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

Reply via email to