[bitbake-devel] [PATCH v4 0/18] Multiplexed task logs / bitbake fixes for fetch2 / stamp features
Jason Wessel
jason.wessel at windriver.com
Fri Jun 8 13:41:35 UTC 2012
This is the v4 patch set for various fixes/features to bitbake.
The patches 13-15 are probably bit more of an RFC vs ready for merge,
in particular the patch 14. Bitbake's setscene engine really
shouldn't know the specifics about what stamp (in this case do_patch)
should invalidate the use of setscene for any given task. At the
moment there is no provision to be able to pass this from oe-core to
bitbake such that this can be generically specified. That being said
the patch 14 does serve a real purpose to allow for incremental
building while preserving the setscene data without wiping out the
existing compile sources (which cleansstate does).
Thanks,
Jason.
-- New in v4 patch set --
Patch 1 - Fix bug where the LogTee did not have a flush operation
and caused a python trace
Patch 13 - Add --no-setscene to avoid running any setscene task
and force builds via the standard tasks
Patch 14 - Invalidate setscene tasks if you have built locally
to support using your build area as a "true scratch area"
Patch 15 - Add bitbake -i STAMP to invalidate a specific stamp
and run the do_build target
-- Previous information from v3 patch set --
Patch 8 - knotty would not flush in a timely manner through |tee
Patch 9 - knotty2 - fix reporting of set scene tasks
Patch 10 - knotty2 - fix line wrap issues
Patch 11 - merge knotty2 functionality into knotty
Patch 12 - dynamically toggle log locations
Patch 18 - OE Core specific change to make screen_inline the default
-- Previous information from v2 patch set --
New in this series:
Patch 5 - Change to the api for passing the screen connection
Patch 6 - Fix logging in fetch2
Patch 7 - Fix fetch2 failures to a read-only GITDIR
Patch 16/17 - OE Core specific changes related to screen as a reference
-- Previous information from first patch set --
This patch set is intended to provide a semi real time aspect to the
logging to stdout. Originally I was just interested in the output of
the do_compile and I will still consider adding that capability, but I
ended up using the logger generically. It provides the ability to see
all the task logs multiplexed to stdout by PID.
More recently I decided I wanted to be able to toggle the logs on and
off while bitbake was already running, so that was added into the
series as well. After seeing how that worked, I also decided I wanted
to be able to run the dev shell in a single terminal window. The last
patch in the series is for the OE-Core, but since I made reference to
this patch I included in this series for completeness.
As a foot note, I have actually been using a more primitive version of
this patch set for the last 4 weeks that was controlled only by the
local.conf setting and used it to diagnose quite a few different
problems as well as to just understand what it is that bitbake is
doing at times.
--
Bitbake specific short log:
Jason Wessel (15):
process.py,build.py: Fix log truncation problems with flush()
knotty: Extend knotty to support "real time" log tail for tasks
knotty: Add the ability to dynamically select loglevel from stdin
msg.py, knotty.py: Allow dynamic toggle of the debug log level
knotty.py: Add the ability to spawn screen directly from knotty with OE_TERMINAL=screen_inline
fetch2: Fix missing output from stderr in fetcher logs
fetch2/git.py: Use local download dir, when using an external read-only GITDIR
knotty.py, knotty2,py: Flush and update footer on dynamic log level change
knotty2.py: Fix knotty2 to report something other than 0 of 0 for setscene tasks
knotty2: Properly adjust for lines longer than terminal size
knotty: Merge knotty2 functionality into knotty
knotty: Add ability to dynamically toggle log location
bitbake,runqueue: Add --no-setscene to skip all setscene tasks
runqueue.py,build.py: Invalidate setscene tasks based on do_unpack stamps
bitbake,runqueue.py: Add -i to invalidate a stamp and rebuild the target
bin/bitbake | 5 ++
lib/bb/build.py | 15 +++++-
lib/bb/fetch2/__init__.py | 5 +-
lib/bb/fetch2/git.py | 5 +-
lib/bb/msg.py | 9 +++-
lib/bb/process.py | 29 ++++++++++-
lib/bb/runqueue.py | 38 +++++++++++---
lib/bb/ui/crumbs/multilogtail.py | 135 ++++++++++++++++++++++++++++++++++++++++++++++++
lib/bb/ui/knotty.py | 283 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
lib/bb/ui/knotty2.py | 51 +++++++++++++++++--
lib/bb/ui/uihelper.py | 5 ++
11 files changed, 550 insertions(+), 30 deletions(-)
create mode 100644 lib/bb/ui/crumbs/multilogtail.py
More information about the bitbake-devel
mailing list