NPM Fetcher & License collection in Yocto Zeus


Oliver Westermann
 

Hey,

We’ve upgraded to zeus some time ago and also updated some of our recipes around node-red and it’s nodes. Before I created my own class to easily fetch several nodes, now we used devtool to create those recipes. In zeus, this happens using the npm:// fetcher.

This worked fine, but we sometimes had QA errors, hard to reproduce. Sometimes on some peoples PC, the license files were missing when do_populate_lic was running.

ERROR: node-red-contrib-socketio-1.0.7-r0 do_populate_lic: QA Issue: node-red-contrib-socketio: LIC_FILES_CHKSUM points to an invalid file: /data/workspace/yocto-build/build/cognex-myna/tmp/work/aarch64-poky-linux/node-red-contrib-socketio/1.0.7-r0/npmpkg/node_modules/socket.io/node_modules/@types/cookie/LICENSE [license-checksum]

Turned out that do_unpack would download the dependencies of the node-red-module (so in the example above, node-red-contrib-socketio depends on socket.io), but do_install would package those away/clean them up.
Since they go into the resulting package, we still have to list those licenses, so I fixed it by adding

do_install[depends] += "${PN}:do_populate_lic"

to my packages to fix the order.

However I would like to fix this upstream, but couldn't find the correct source location to add this dependency. Can sb help me figure this out as I would like to contribute 😉

Best regards, Olli

Join yocto@lists.yoctoproject.org to automatically receive all group messages.