[yocto] [Openembedded-architecture] Proposal: dealing with language-specific build tools/dependency management tools

Bruce, Henry henry.bruce at intel.com
Mon Mar 13 10:51:31 PDT 2017


On Fri, 2017-03-10 at 17:10 +0200, Alexander Kanavin wrote:

Thanks for raising this topic. The problems we hit in adding node.js
support clearly shows we would benefit from a common approach to
supporting languages with their own and runtime and packaging.

> 
> npm fetcher for instance was a nightmare to write, from what I've
> heard:
> 
> http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/fe
> tch2/npm.py

Although I didn't write the code I worked with Paul Eggleton (who now
owns it) on improving it, and yes it was hard to write. And it is
becoming increasingly complex as we hit corner cases, indicating that
the current architecture is not ideal.

> > > I want to use existing tools (like 'npm install') for getting the
> > > stuff from the network - we don't really need full recipes, we
> > > just want to know the licenses of the dependencies, and, if
> > > possible, lock them down to a specific version.

I agree that leveraging the likes of 'npm install' will make life
simpler but the problem with these operations is that they span a range
of bitbake tasks. The reason we wrote an npm fetcher was to limit
network access to the fetch task. This works in conjunction with an npm
patch that enables the install command to run in the compile task
without accessing the registry. Are you are proposing that we allow
network access outside of the fetch task? 

I look forward to Paul's comments.


Henry


More information about the yocto mailing list