Bug 6406

Summary: Add a practical way to create recipes easily from a source tree
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Paul Eggleton <bluelightning>
Component: coreAssignee: Paul Eggleton <bluelightning>
Status: VERIFIED FIXED QA Contact: Lucian Musat <georgex.l.musat>
Severity: enhancement    
Priority: Medium+ CC: alexandru.c.georgescu, bruce.ashfield, meta.mr.watcher, meta.watcher, Qi.Chen, twoerner
Version: 1.7   
Target Milestone: 1.8 M2   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Yes (doc changes required)
Bug Depends on:    
Bug Blocks: 7037, 6653, 7036    

Description Paul Eggleton 2014-06-05 15:32:18 UTC
Part of the work required to get a piece of software building in our build system is writing a recipe for it. A large part of this can be done by a script (assuming it has access to the source tree) rather than requiring users to do it by hand every time.

We've had the scripts/create-recipe script for a while that was supposed to do exactly this, but it's far from perfect and being written in perl means it's not easy for us to maintain and extend.
Comment 1 Paul Eggleton 2014-06-10 16:54:20 UTC
One option here would be to port scripts/create-recipe to python. (Not only do we have much more in the way of expertise on python, but we can more closely integrate with the build system if we need to use it to query variable values or re-use code from it.)
Comment 2 Paul Eggleton 2014-07-21 11:05:15 UTC
See also bug 6561.
Comment 3 Paul Eggleton 2014-12-26 11:47:30 UTC
A new "recipetool" was added to master in the following commit (a number of earlier supporting commits are also required):

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=5638ca2b9483806d991d93071b259769a5f7ec48

Documentation is still pending.
Comment 4 Paul Eggleton 2014-12-26 11:53:59 UTC
Some basic QA tests have been added in meta/lib/oeqa/selftest/devtool.py.
Comment 5 Lucian Musat 2015-03-18 09:08:27 UTC
Verified on latest master (df0672b038e6942c97d266af9ca175a06f2b0423)