From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Subject: [RFC PATCH 0/7] Developer workflow improvements
Date: Tue, 25 Nov 2014 17:28:40 +0000 [thread overview]
Message-ID: <cover.1416934753.git.paul.eggleton@linux.intel.com> (raw)
[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!
The following changes since commit ff2ff155ea5273b2023a1c9834b13f10249d343f:
gdk-pixbuf: use ptest-gnome (2014-11-25 12:58:21 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/devtool
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/devtool
Paul Eggleton (6):
lib/oe/patch: fall back to patch if git apply fails
lib/oe/patch: auto-commit when falling back from git am
lib/oe/patch: use --keep-cr with git am
scripts/recipetool: Add a recipe auto-creation script
lib/oe: add recipeutils module
scripts/devtool: add development helper tool
Junchun Guan (1):
scripts/devtool: Support deploy/undeploy function
meta/lib/oe/patch.py | 94 ++++++-
meta/lib/oe/recipeutils.py | 264 ++++++++++++++++++++
scripts/devtool | 223 +++++++++++++++++
scripts/lib/devtool/__init__.py | 79 ++++++
scripts/lib/devtool/deploy.py | 100 ++++++++
scripts/lib/devtool/standard.py | 390 ++++++++++++++++++++++++++++++
scripts/lib/recipetool/__init__.py | 0
scripts/lib/recipetool/create.py | 375 ++++++++++++++++++++++++++++
scripts/lib/recipetool/create_buildsys.py | 234 ++++++++++++++++++
scripts/recipetool | 124 ++++++++++
10 files changed, 1881 insertions(+), 2 deletions(-)
create mode 100644 meta/lib/oe/recipeutils.py
create mode 100755 scripts/devtool
create mode 100644 scripts/lib/devtool/__init__.py
create mode 100644 scripts/lib/devtool/deploy.py
create mode 100644 scripts/lib/devtool/standard.py
create mode 100644 scripts/lib/recipetool/__init__.py
create mode 100644 scripts/lib/recipetool/create.py
create mode 100644 scripts/lib/recipetool/create_buildsys.py
create mode 100755 scripts/recipetool
--
1.9.3
next reply other threads:[~2014-11-25 17:29 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-25 17:28 Paul Eggleton [this message]
2014-11-25 17:28 ` [RFC PATCH 1/7] lib/oe/patch: fall back to patch if git apply fails Paul Eggleton
2014-11-25 17:40 ` Paul Barker
2014-11-25 17:58 ` Paul Eggleton
2014-11-25 17:28 ` [RFC PATCH 2/7] lib/oe/patch: auto-commit when falling back from git am Paul Eggleton
2014-11-25 17:28 ` [RFC PATCH 3/7] lib/oe/patch: use --keep-cr with " Paul Eggleton
2014-11-25 17:28 ` [RFC PATCH 4/7] scripts/recipetool: Add a recipe auto-creation script Paul Eggleton
2014-11-25 17:28 ` [RFC PATCH 5/7] lib/oe: add recipeutils module Paul Eggleton
2014-11-25 17:28 ` [RFC PATCH 6/7] scripts/devtool: add development helper tool Paul Eggleton
2014-11-25 17:28 ` [RFC PATCH 7/7] scripts/devtool: Support deploy/undeploy function Paul Eggleton
2014-11-25 17:51 ` [RFC PATCH 0/7] Developer workflow improvements Paul Barker
2014-11-25 18:34 ` Paul Eggleton
2014-11-25 19:56 ` Trevor Woerner
2014-11-26 9:02 ` Paul Eggleton
2014-11-28 17:28 ` Trevor Woerner
2014-12-01 10:11 ` Paul Eggleton
2014-12-02 4:36 ` Trevor Woerner
2014-12-02 11:46 ` Paul Eggleton
2014-12-04 14:03 ` Trevor Woerner
2014-12-04 15:33 ` Paul Eggleton
2014-12-02 4:54 ` Trevor Woerner
2014-12-02 14:01 ` Paul Eggleton
2014-12-09 15:47 ` Trevor Woerner
2014-12-11 23:10 ` Trevor Woerner
2014-12-12 12:39 ` Paul Eggleton
[not found] ` <54866CD7.1050102@linaro.org>
[not found] ` <7839390.odV1UMkpj8@peggleto-mobl5.ger.corp.intel.com>
2014-12-09 15:00 ` Trevor Woerner
2014-12-09 15:10 ` Paul Eggleton
2014-12-09 15:39 ` Trevor Woerner
2014-12-09 16:08 ` Paul Eggleton
2014-12-09 18:58 ` Trevor Woerner
2014-12-10 17:51 ` Paul Eggleton
2014-12-11 17:14 ` Paul Eggleton
2014-12-11 18:30 ` Trevor Woerner
2014-12-11 18:55 ` Paul Eggleton
2014-12-11 19:16 ` Trevor Woerner
2014-12-11 19:43 ` Trevor Woerner
2014-12-11 21:35 ` Paul Eggleton
2014-12-11 23:14 ` Trevor Woerner
2014-12-12 13:01 ` Otavio Salvador
2014-12-14 3:47 ` Trevor Woerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1416934753.git.paul.eggleton@linux.intel.com \
--to=paul.eggleton@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox