On Oct 22, 2019, at 1:22 PM, Richard Purdie richard.pur...@linuxfoundation.org 
wrote:
> On Tue, 2019-10-22 at 11:03 +0200, Jean-Marie LEMETAYER wrote:
>> The current NPM support have several issues:
>>  - The current NPM fetcher downloads the dependency tree but not the other
>>    fetchers. The 'subdir' parameter was used to fix this issue.
>>  - They are multiple issues with package names (uppercase, exotic characters,
>>    scoped packages) even if they are inside the dependencies.
>>  - The lockdown file generation have issues. When a package depends on
>>    multiple version of the same package (all versions have the same 
>> checksum).
>> 
>> This patchset refactors the NPM support in Yocto:
>>  - As the NPM algorithm for dependency management is hard to handle, the new
>>    NPM fetcher downloads only the package source (and not the dependencies,
>>    like the other fetchers) (patch submitted in the bitbake-devel list).
>>  - The NPM class handles the dependencies using NPM (and not manually).
>>  - The NPM recipe creation is simplified to avoid issues.
>>  - The lockdown file is no more used as it is no longer relevant compared to 
>> the
>>    latest shrinkwrap file format.
>> 
>> This patchset may remove some features (lockdown file, license management for
>> dependencies) but fixes the majority of the NPM issues. All of these issues
>> from the bugzilla.yoctoproject.org are resolved by this patchset:
>> #10237, #10760, #11028, #11728, #11902, #12534
> 
> One key requirement which many of our users have from the fetcher is
> that its deterministic and allows for "offline" builds.
> 
> What this means is that should I have a populated DL_DIR, the build
> should not need to touch the network. Also, only do_fetch tasks would
> make network accesses.
> 
> What is the situation for npm after these changes with regard to this?

This is a good point. With this patchset the build is working but some
network accesses are done during the do_compile task (the 'npm install'
command). This needs to be fixed.

Other people have reported some issues with this patchset which will be
fixed in the v2:
 - Use do_fetch only to access the network.
 - Respect the existing MIRROR, BB_NO_NETWORK, BB_ALLOWED_NETWORKS settings.
 - Add some tests for the fetcher.

Regards,
Jean-Marie
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to