From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 0/9] Show progress during build and eSDK install
Date: Mon, 13 Jun 2016 15:13:51 +1200 [thread overview]
Message-ID: <cover.1465787274.git.paul.eggleton@linux.intel.com> (raw)
Show progress during build and extensible SDK installation.
I've often thought it would be nice if we could print progress information
for individual tasks so that you could get some idea of whether the task
is doing anything and how much longer it might take, and so I've been working
on a set of patches to implement just that in the background for a while now
and this is the result. Unfortunately this isn't necessarily practical to do
for all tasks, but things like do_fetch are running processes that do output
progress information so it's not too hard to tap into that and present it in
the form of a progress bar next to the task, which is what this patchset
does. I was also able to enable progress for do_compile in recipes that use
cmake (since that outputs % complete as it runs) as well as do_rootfs where
it has a number of internal steps that can be counted and weighted.
I have contemplated and even prototyped going a step further and using the
count of lines in the output to track progress for *all* long-running tasks,
which does work reasonably well - the caveat is you actually need the
expected line count ahead of time for each task, so you have to be able to
get that from somewhere. I haven't worked out a practical means of
delivering that, suggestions would be very much welcome - my prototype stuff
is on poky-contrib paule/progress-wip and relies on someone profiling a
build containing all the tasks beforehand and that information somehow being
made available to everyone else.
Also included in this patchset is support for showing progress in a couple
of other stages during the build - when checking for the availability of
sstate artifacts, when initialising the tasks (formerly "Preparing RunQueue")
and overall progress of running setscene and normal tasks.
There are also a few semi-related changes to improve progress reporting and
speed of extensible SDK installation.
NOTE: this patchset requires the corresponding set of changes just sent
to the bitbake-devel list in order to work.
The following changes since commit 2fdd2c1434e7c741b8048145bd460c68bea7ee53:
systemtap: add build dependency on ncurses (2016-06-12 23:47:00 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/startup-oe
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/startup-oe
Paul Eggleton (9):
bitbake.conf: whitelist progress varflag
classes/cmake: enable progress for do_compile
classes/image: implement progress support for do_rootfs
classes/sstate: show progress during sstate object availability check
classes/sstate: add a mode to error if sstate package unavailable
classes/populate_sdk_ext: eliminate double execution on install
lib/oe/sstatesig: print locked sigs file message only when explicitly called
classes/populate_sdk_ext: show progress when preparing build system
toolchain-shar-extract.sh: allow TERM through into SDK installer env
meta/classes/cmake.bbclass | 1 +
meta/classes/image.bbclass | 10 +-
meta/classes/populate_sdk_ext.bbclass | 7 +-
meta/classes/sstate.bbclass | 29 +++++-
meta/conf/bitbake.conf | 6 +-
meta/files/ext-sdk-prepare.py | 117 ++++++++--------------
meta/files/toolchain-shar-extract.sh | 1 +
meta/lib/oe/rootfs.py | 101 ++++++++++++++++---
meta/lib/oe/sstatesig.py | 10 +-
meta/recipes-devtools/cmake/cmake-native_3.5.2.bb | 2 +
scripts/oe-buildenv-internal | 2 +-
11 files changed, 184 insertions(+), 102 deletions(-)
--
2.5.5
next reply other threads:[~2016-06-13 3:14 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-13 3:13 Paul Eggleton [this message]
2016-06-13 3:13 ` [PATCH 1/9] bitbake.conf: whitelist progress varflag Paul Eggleton
2016-06-13 3:13 ` [PATCH 2/9] classes/cmake: enable progress for do_compile Paul Eggleton
2016-06-13 3:13 ` [PATCH 3/9] classes/image: implement progress support for do_rootfs Paul Eggleton
2016-06-13 3:13 ` [PATCH 4/9] classes/sstate: show progress during sstate object availability check Paul Eggleton
2016-06-13 3:13 ` [PATCH 5/9] classes/sstate: add a mode to error if sstate package unavailable Paul Eggleton
2016-06-13 3:13 ` [PATCH 6/9] classes/populate_sdk_ext: eliminate double execution on install Paul Eggleton
2016-06-13 3:13 ` [PATCH 7/9] lib/oe/sstatesig: print locked sigs file message only when explicitly called Paul Eggleton
2016-06-13 3:13 ` [PATCH 8/9] classes/populate_sdk_ext: show progress when preparing build system Paul Eggleton
2016-06-13 3:14 ` [PATCH 9/9] toolchain-shar-extract.sh: allow TERM through into SDK installer env Paul Eggleton
2016-06-13 15:47 ` [PATCH 0/9] Show progress during build and eSDK install Randle, William C
2016-06-13 15:59 ` Christopher Larson
2016-06-13 16:01 ` Christopher Larson
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.1465787274.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.