<div dir="ltr">Thanks Christopher!<div><br></div><div>Yes, this is exactly what I needed.  Much appreciation.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 29, 2015 at 12:40 PM, Christopher Larson <span dir="ltr">&lt;<a href="mailto:clarson@kergoth.com" target="_blank">clarson@kergoth.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 29, 2015 at 1:30 PM, Logan Buchy <span dir="ltr">&lt;<a href="mailto:logan.buchy@gmail.com" target="_blank">logan.buchy@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>I&#39;ve got a third-party SDK given to me by our SoC provider.  The SDK contains</div><div>* Vanilla Linux kernel with a set of patches that adds drivers for SoC peripherals</div><div>* Proprietary bootloader</div><div>* Proprietary binary libraries</div><div>* Proprietary firmware for on-chip peripherals</div><div>* A build system which compiles everything</div><div><br></div><div>This SDK comes a a big tarball.  Splitting the tarball into separate tarballs is not desirable since this would need to be done every time the provider issues an update (which comes as another big tarball).</div><div><br></div><div>What I have now is a recipe that compiles and installs the entire SDK, which works alright but I am looking to split up the SDK into separate packages with associated do_configure/do_compile/do_install tasks.  For example, I would like to split this into packages that provide:</div><div>* virtual/kernel</div><div>* proprietary-binary-blob</div><div>* soc-kernel-drivers</div><div>* proprietary-firmware-blob</div><div><br></div><div>What I am wondering about is how would I go about writing multiple recipes that share the same tarball without having bitbake untar it for each recipe.  Is this even possible?  Are there any examples of packages that do this?</div><div><br></div><div>My best guess about how to go about this would be to create a class which defines a do_fetch/do_unpack routine and then for each package, inherit the class and define custom do_configure/do_compile/do_install routines.</div></blockquote></div><br></div></span><div class="gmail_extra">See the gcc-source recipe and gcc-shared-source.inc.<span class="HOEnZb"><font color="#888888"><br>-- <br><div>Christopher Larson<br>clarson at kergoth dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics</div>
</font></span></div></div>
</blockquote></div><br></div>