On 25 November 2014 at 17:28, Paul Eggleton <[email protected]> wrote: > [Note: this is an RFC series for the moment, and shouldn't yet be merged.] > > I've been looking at how to make it easier for application and system > component developers to get their work done using the tools we provide, > and I believe this patchset is a piece of the solution. There's still a > number of other pieces to come, but this should be usable on its own. > > The first three patches extend the PATCHTOOL = "git" code to ensure that > we're able to apply all patches even if "git am" and "git apply" can't > handle them, and that we do a commit to the repository per patch. This > is needed for devtool later on. > > I've then added a new recipe auto-creation script, recipetool, which can > take a source tree or URL and create a skeleton recipe to build it. > (In case anyone is wondering about the existing scripts/create-recipe, > frankly I consider it a dead end - it's written in Perl, which makes it > a bit difficult to integrate with the rest of our code; it's also > GPLv3-only which makes any such integration pretty much impossible from > another angle.) > > Then we add devtool. This allows you to: > > * Add a new piece of software (auto-create the skeleton of a recipe > using the aforementioned recipetool and point the build to an external > source tree) > * Modify the source for an existing recipe (point the build to an > external source tree, possibly creating that tree in the same step > and managing it with git) > * Deploy the installed files from a recipe from ${D} to a target using > scp. > > There will obviously be extensions to these tools, but I hope they are > already functional enough to be useful at the state they are in at the > moment. > > Known issues: > > * "devtool modify" can't currently deal with gcc, linux-yocto or perf > because they manage their workdir differently, this will need to be > fixed > * devtool's workspace layer triggers a bitbake warning when empty. > I suspect a mechanism to disable this warning internally will need to > be added. > * "recipetool create" ideally needs to become smarter and fill in > more details of the recipe. At some point we'll probably have to > make the process interactive and possibly have it automate parts of > the build process and examine the output; some things just can't be > practically detected from the source tree without building. > > > (Note that some pieces of the code which are not essential rely on a couple > of changes to bitbake, you can find these in the paule/devtool-bb branch > in poky-contrib, or if you are happy to use poky, grab the paule/devtool > branch in poky-contrib which has everything). > > Comments/questions/suggestions welcome! >
This sounds great and looks like it will make some regular tasks quite a bit easier! One thing which may be useful within recipetool or devtool is a single command to create patch files (using `git format-patch`), put them into the relevant directory and add the file names to SRC_URI. Obviously this assumes the external source tree is a git repo and we can trace the local modifications back to either an external master branch or an initial state after extracting a source archive. I'm just thinking out loud here though, depends if other people think that work flow is common enough to be worth creating a shortcut for. Thanks, -- Paul Barker Email: [email protected] http://www.paulbarker.me.uk -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
