All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier-oss@weidmueller.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>,
	OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] Improve npm support to run build scripts
Date: Tue, 5 Oct 2021 19:44:26 +0200	[thread overview]
Message-ID: <0bddcbc4-cf11-39da-5797-131fc59d7f6f@weidmueller.com> (raw)
In-Reply-To: <CANNYZj8Fns4xWre3_ajv-5QADpCi0f+WS2wRXCKXezOgj5fhzg@mail.gmail.com>

Hi Alex,

Am 05.10.2021 um 15:10 schrieb Alexander Kanavin:
> I think the supposed workflow with the new npm.class was to use 'devtool 
> create' which would run some npm magic to to create a single recipe that 
> has all of the npm-fetched dependencies inside SRC_URI.

There is no magic inside npm. It parse json recipes, calculate a 
dependency tree, download archives, checks the archives, unpack the 
archives and run some commands from the json recipes.

The 'devtool add' create a recipe with over 1000 dependencies. A lot of 
the dependencies have an unknown license. I have improve createtool to 
detect more licenses and fallback to the readme if no license file exist.

The npm class doesn't support run of build scripts. The build of an 
application (ex. angular) need native binaries inside its npm dependencies.

The existing solution have the same problems like embedded dependencies 
in other recipes (ex. multiple version of the same project, unneeded 
dependencies, unforeseeable downloads, pre-builds, on the fly binary 
builds, ...)

You have to fix a bug in different versions of the same project at 
different positions in the dependency tree inside multiple recipes.

The main different between a normal (ex C++) and npm project is that npm 
use many small packages as dependency.

> Have you tried that?

Sure. Otherwise I haven't spot the limitations and work on improvements.

> A layer with thousands of recipes seems totally intractable.

What is your concern? The high number of dependencies or to handle it 
via OE?

We have the high number of dependencies in any case and need to handle 
the proxy/CVE/license problem. Could we reuse OE or should we use 
different software for the same problems?

Regards
   Stefan


  reply	other threads:[~2021-10-05 17:44 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-05 10:04 Improve npm support to run build scripts Stefan Herbrechtsmeier
2021-10-05 11:09 ` Richard Purdie
2021-10-05 12:48   ` Stefan Herbrechtsmeier
2021-10-05 13:10     ` [OE-core] " Alexander Kanavin
2021-10-05 17:44       ` Stefan Herbrechtsmeier [this message]
2021-10-05 19:17         ` Alexander Kanavin
2021-10-05 19:29           ` Konrad Weihmann
2021-10-06  4:32             ` Chuck Wolber
2021-10-06  9:18             ` Stefan Herbrechtsmeier
2021-10-06  9:43               ` Konrad Weihmann
2021-10-06  9:47                 ` Alexander Kanavin
2021-10-08  5:27                   ` Tim Orling
2021-10-08  6:41                     ` Stefan Herbrechtsmeier
2021-10-19 12:51                   ` Stefan Herbrechtsmeier
2021-10-19 14:19                     ` Alexander Kanavin
2021-10-06  9:17           ` Stefan Herbrechtsmeier
     [not found]     ` <16AB247E1F8222C3.20282@lists.openembedded.org>
2021-10-05 13:14       ` Alexander Kanavin
2021-10-05 18:18     ` Robert Berger
2021-10-06  9:17       ` Stefan Herbrechtsmeier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0bddcbc4-cf11-39da-5797-131fc59d7f6f@weidmueller.com \
    --to=stefan.herbrechtsmeier-oss@weidmueller.com \
    --cc=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.