From: "Jörg Krause" <joerg.krause@embedded.rocks>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3 1/1] jsen: new package
Date: Mon, 28 Mar 2016 16:01:09 +0200 [thread overview]
Message-ID: <1459173669.2226.8.camel@embedded.rocks> (raw)
In-Reply-To: <20160225172028.5482c36e@free-electrons.com>
Dear Thomas,
sorry for very late reply!
On Do, 2016-02-25 at 17:20 +0100, Thomas Petazzoni wrote:
> J?rg,
>
> Thanks for your feedback!
>
> On Thu, 25 Feb 2016 15:01:04 +0100, J?rg Krause wrote:
>
> >
> > Because npm supports version ranges. Have a look at the example
> > from
> > the npm's docs [1]:
> >
> > { "dependencies" :
> > ? { "foo" : "1.0.0 - 2.9999.9999"
> > ? , "bar" : ">=1.0.2 <2.1.2"
> > ? , "baz" : ">1.0.2 <=2.3.4"
> > ? , "boo" : "2.0.1"
> > ? , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
> > ? , "asd" : "http://asdf.com/asdf.tar.gz"
> > ? , "til" : "~1.2"
> > ? , "elf" : "~1.2.3"
> > ? , "two" : "2.x"
> > ? , "thr" : "3.3.x"
> > ? , "lat" : "latest"
> > ? , "dyl" : "file:../dyl"
> > ? }
> > }
> >
> > Lets take for example the dependency "boo". A package "A" may
> > depend on
> > version "2.0.1" whereas another package "B" may depend on version
> > "2.3.x".
> Gaah, this is horrible.
>
> >
> > In this case npm installs boo at 2.0.1 in the subdirectory
> > "node_modules"
> > of package "A" and boo at 2.3.4 (assume 2.3.4 is the most recent
> > version
> > for 2.3.x) in the subdirectory "node_modules" of package "B":
> >
> > {prefix}/lib/node_modules?????A
> > ???? ????node_modules
> > ?? ? ? ? ??? boo at 2.0.1
> > ???? B
> > ? ? ???? node_modules
> > ? ? ? ? ???? boo at 2.3.4
> >
> > As Buildroot does not support different versions for most of the
> > packages I think we should only use npm to install Node.js
> > packages.
> Well, we can support this by having separate packages, but if they
> really break "boo" at every release and we need to package ten
> different versions of it, then it's a mess indeed.
>
> >
> >
> > >
> > > ?- What solution you propose to properly integrate this with the
> > > ???download and legal infrastructure of Buildroot. Right now,
> > > having
> > > ???"npm install" directly download and install stuff means that
> > > the
> > > ???download and legal-info infrastructure of Buildroot is
> > > completely
> > > ???worked-around. Due to this, "make source" will not download
> > > all
> > > the
> > > ???source, "make legal-info" will not list all the licenses,
> > > caching
> > > in
> > > ???BR2_DL_DIR doesn't work, BR2_PRIMARY_SITE doesn't work, etc.
> > I am not sure for now howto integrate this into the Buildroot
> > infrastructure properly. I have never thought about this, but it
> > will
> > need some work to be done, I guess.
> If you don't have Buildroot packages, it will be nearly impossible I
> believe.
>
> >
> > I have never had a look at?scancpan and I am not familiar with Perl
> > packages, but looking at some META.json files, I guess it could be
> > done
> > similiar.
> We have a similar script being worked on for Python, if you're
> familiar
> with Python. See for example http://patchwork.ozlabs.org/patch/501204
> /.
>
Unfortunatly, scanpypi does not work with latest Buildroot. But I
tested scancpan and yes, I would say that we need something like this
for Node.js and npm. However, the problem with dependencies of
different versions is still there. For example Code-TidyAll depends on
Moo whatever version. scanspan fetches latest Moo version 2.* and
creates a fine buildroot package. The perl package Tropo however
depends on Moo 1.*. Installing this package with scanspac afterwards
does not change Moo, which is correct I think. However, building Tropo
will use the package Moo 2.*, which might fail (I've not tested).
Best regards
J?rg Krause
next prev parent reply other threads:[~2016-03-28 14:01 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-23 13:24 [Buildroot] [PATCH v3 1/1] jsen: new package Atul Singh
2016-02-23 20:44 ` Arnout Vandecappelle
2016-02-23 21:04 ` Thomas Petazzoni
2016-02-25 10:32 ` Jörg Krause
2016-02-25 12:51 ` Thomas Petazzoni
2016-02-25 14:01 ` Jörg Krause
2016-02-25 16:20 ` Thomas Petazzoni
2016-03-28 14:01 ` Jörg Krause [this message]
2016-03-28 14:07 ` Thomas Petazzoni
2016-04-25 15:45 ` Matthew Weber
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=1459173669.2226.8.camel@embedded.rocks \
--to=joerg.krause@embedded.rocks \
--cc=buildroot@busybox.net \
/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.