<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 17 August 2016 at 13:40, Paul Eggleton <span dir="ltr">&lt;<a href="mailto:paul.eggleton@intel.com" target="_blank">paul.eggleton@intel.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey Chris, long time!<br></blockquote><div><br></div><div>Hey :)<br> <span class=""></span><br><span class=""></span></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
On Wed, 17 Aug 2016 11:11:13 Brendan Le Foll wrote:<br>
&gt; &gt;    - Is there a reason to split the package like it does? Node projects<br>
&gt; &gt;    tend to have huge dependency trees, it makes updating and distributing<br>
&gt; &gt;    node-based applications a bit of a chore if they end up split into 20<br>
&gt; &gt;    packages, most of which have no use separately. It would be great if<br>
&gt; &gt;    there was at least a way to disable this.<br>
&gt;<br>
&gt; Paul added this, the worry was that we wanted to make sure all the<br>
&gt; licenses where tracked properly of the package etc...<br>
<br>
</span>Right, that is why we do the splitting - if you want the licenses and actual<br>
packages used to be fully represented in the image license manifest then they<br>
really do have to be split this way. Honestly I view this ugliness more as an<br>
artifact of how npm works (i.e. every dependency is handled separately instead<br>
of trying to ensure only one instance of a particular package).<br>
<span class=""><br>
&gt; I&#39;m not a huge fan either to be honest. Maybe we can have a npm-no-<br>
</span>&gt; split.bbclass would that be ok - Paul? It&#39;s in python<br>
&gt; populate_packages_prepend in npm.bbclass.<br>
<br>
Sure, but rather than a separate class I would just add a variable such as<br>
NPM_SPLIT_PACKAGES that defaults to &quot;1&quot; and then you can set it to &quot;0&quot; either<br>
globally or in each recipe.<span class=""><br></span></blockquote><div><br></div><div>This sounds good. A further bug I just encountered (after finally getting a particularly gnarly project packaged), the RDEPENDS that gets generated doesn&#39;t seem to be complete. Dependencies of dependencies don&#39;t get added it appears. So for example, you package appA that has a dependency on moduleX, which itself has a dependency on moduleY. It all gets packaged, but moduleY is missed from the RDEPENDS of appA (or of moduleX, which I guess is where it would be ideally). At least, I&#39;ve included appA in an image, and appA is installed, moduleX is installed, but moduleY is missing. I&#39;ve assumed this is the error, but I could be assuming incorrectly.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
&gt; &gt;    - Any patches end up getting packaged because they get put in the<br>
&gt; &gt;    srcdir. I&#39;m guessing this isn&#39;t intentional (or maybe it is?)<br>
&gt; &gt;    Just wanted to provide some feedback. It&#39;s fantastic that OE has the<br>
&gt; &gt;    ability to package node software, and despite the teething<br>
&gt; &gt;    difficulties, I&#39;ve appreciated its availability!<br>
&gt;<br>
&gt; That is a good point, didn&#39;t think about it tbh. in npm.bbclass we<br>
&gt; could maybe delete everything that looks like a patch before<br>
&gt; compilation, little bit worried there might be nasty side effects but<br>
&gt; I can try :)<br>
<br>
</span>This is definitely not intentional, but the way we have been dealing with npm<br>
it makes it easy for stuff like this to leak into the output packages. I guess<br>
we just need to delete them under ${D} after the files are installed there.<br></blockquote><div> </div><div>On further thought about this, I actually don&#39;t think it&#39;s a terrible idea to do this anyway. Unless your patches are huge, it&#39;s not much overhead, and it&#39;s nice to include to hint at anyone inspecting the filesystem that the distributed files have been modified. It&#39;d definitely be better to package them than to delete them and possibly end up deleting things that shouldn&#39;t be deleted. Maybe another thing that could be made optional?<br></div><div> </div>Cheers,<br><br></div><div class="gmail_quote">--Chris<br></div></div></div>