<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 28, 2015 at 8:45 AM, Sam Thursfield <span dir="ltr">&lt;<a href="mailto:sam.thursfield@codethink.co.uk" target="_blank">sam.thursfield@codethink.co.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1ey" class="a3s" style="overflow:hidden">I wrote a proof-of-concept patch which lets you export all the tasks<br>
from a BitBake project, as actual executable shell and Python scripts.<br>
I&#39;m sharing it here to see if anyone is interested in this sort of<br>
thing, and to see if anyone reading can point out obvious improvements<br>
that I haven&#39;t spotted.<br>
<br>
This is the first time I&#39;ve hacked on BitBake&#39;s internals, so this code<br>
has quite a lot of room for improvement :-) Exporting is slow (~10<br>
mins), blocks the &#39;cooker&#39; process completely while it runs, and causes<br>
BitBake to hang once it&#39;s finished. But, the generated scripts do<br>
actually work, which is what motived me to share the results.<br>
<br>
The goal of this is to have a tool for &#39;flattening&#39; a set of recipes,<br>
which I think is useful when reasoning about what they actually do.<br>
<br>
Right now it produces almost 3GB of output for my test project. This is<br>
mostly because the entire data dict is dumped for each .py file. I&#39;ve<br>
looked at deduplicating, but my naive implementation was incredibly slow<br>
(checking each variable in the dict for each task dump), and I&#39;ve not<br>
thought of a more clever approach.<br>
<br>
Anyway, I hope this is interesting to someone; I may be able to spend<br>
some time turning it into a viable patch, if there is interest.</div></blockquote></div><br>I find this very interesting, and will definitely be checking out the patch.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Regarding exporting full data dict, we maintain variable dependency knowledge as a part of the metadata checksumming capability, so it should be straightforward to only emit what&#39;s used for the task in question.<br>-- <br><div class="gmail_signature">Christopher Larson<br>clarson at kergoth dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics</div>
</div></div>