Ravi Chintakunta [Wed, 12 Mar 2014 18:47:41 +0000 (18:47 +0000)]
toaster: Add counters to filters
Added count to filters in Build, Tasks and Config variables.
[YOCTO #5821]
Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 11 Mar 2014 18:09:37 +0000 (18:09 +0000)]
runqueue: Improve sigchld handler
The sigchld handler was reaping any processes and this was leading to
confusion with any other process handling code that could be active.
This patch:
a) Ensures we only read any process results for the worker processes
we want to monitor
b) Ensures we pass the event to any other sigchld handler if
it isn't an event we're interested in so the functions are properly
chained.
Together this should resolve some of the reports of unknown processes
people have been reporting.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 12 Mar 2014 03:16:12 +0000 (03:16 +0000)]
bitbake-worker: Ensure children have default sigterm handler
The children of the worker should have the default SIGTERM handler,
else they'll try and do cleanup which should only happen in the
parent leading to all kinds of bizarre build failures.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
David Reyna [Sat, 8 Mar 2014 05:48:59 +0000 (21:48 -0800)]
toaster: fix 'show all' labels for tasks and variables
Fix the 'Show all' button label to indicate 'variables' and 'tasks'
instead of the internal page label for the variables page and the
Disk I/O, CPU Usage, and Time pages.
[YOCTO #5915]
Signed-off-by: David Reyna <David.Reyna@windriver.com>
* relaxing constraints in Target_Image_File table
* modifying permission filed to string value
* adding license_manifest_path field
* adding image_size field
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Richard Purdie [Mon, 10 Mar 2014 00:59:10 +0000 (17:59 -0700)]
server/process: Optimise latency when finishing idle functions
When idle functions finish, its likely we have some other work
to do, so don't sleep in the select call but instead, skip it.
This removes small amounts of latency in common commands.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 10 Mar 2014 00:58:36 +0000 (17:58 -0700)]
server/process: Drop unnecessary exit delay
When the server exits, we no longer appear to need this delay. This
is likely due to improvements in the various exit codepaths. There
is therefore no longer any point in taking the latency hit.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 10 Mar 2014 00:58:02 +0000 (17:58 -0700)]
server/process: Use a pipe for quit events instead of Event()
Its not possible to notice the change of status of an Event() in
the select call we sleep in. It would be possible in python 3.3 but
for now use a pipe instead. This removes small latency when bitbake
commands finish since the system doesn't sit in the select call.
(Debugging these kind of issues is apparent by setting a long sleep
for the select call)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A run of "bitbake bash -c unpack" when the task has already been
completed resulted in about 9000 calls to logger.debug(). With this
patch which comments out some noisy/less usefull logging and moves
other logging calls outside loops, this number is reduced to 1000
calls. This results in cleaner logs and gives a small but
measurable 0.15s speedup. The log size dropped from 900kb to 160kb.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 9 Mar 2014 17:04:41 +0000 (10:04 -0700)]
server/process: Deal more gracefully with SIGTERM
Currently a SIGTERM to the UI process causes the UI simply to lock up.
By setting an exit flag, the waitEvent can raise a SIGINT, allowing the
UI to break out the event loop and exit. Currently this is results in a
traceback but that is more desirable than a hanging process.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 9 Mar 2014 17:02:50 +0000 (10:02 -0700)]
server/process: Use the setFeatures command on the server instead of a manger
The use of a manager in the process server causes some issues since it remains
around for the lifetime of the server even though its only used during
initialisation and the system doesn't respond well to SIGTERM events
to the extra process (and two threads) the implementation involves.
Switching to a dedicated command simplifies the server process structure.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 9 Mar 2014 17:01:19 +0000 (10:01 -0700)]
runqueue.py: Gracefully handle a missing worker process
If the worker has already gone missing (e.g. SIGTERM), we should
gracefully handle the write failures at exit time rather than throwing
ugly tracebacks.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the worker (or fakeworker) process disappears for some reason, the
system doesn't currently even notice. To fix this, we call waitpid
periodically, looking for exit events of our children. If these
occur, we can gracefully shutdown the server.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 9 Mar 2014 16:59:19 +0000 (09:59 -0700)]
bitbake-worker: Gracefully handle SIGTERM
Currently if bitbake-worker handles a SIGTERM, it leaves the child
processes to complete or hang. It shouldn't do this so hook the SIGTERM
event and gracefully shutdown any children.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 9 Mar 2014 16:58:01 +0000 (09:58 -0700)]
knotty: Deal with exceptions not resetting terminal configuration
When an exception occurred, the terminal parameters (such as echo)
may not be reset correctly. This change ensures they do get
atexit time in all cases, avoiding the terminal corruption issues
that could sometimes occur.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Scott Rifenbark [Tue, 25 Feb 2014 23:56:24 +0000 (17:56 -0600)]
user-manual: Review edits from Richard (second draft)
Applied the comprehensive set of review comments from Richard
Purdie. All files affected. One major point here was that the
"BitBake Command" chapter was eliminated. This information was
folded into various areas of the book. Consequently, the bits
including the file for make had to be updated.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Wed, 19 Feb 2014 22:15:38 +0000 (16:15 -0600)]
user-manual: Added "Hello World" Appendix.
I took Bill's chapter and made it into an appendix. I did some
re-writing to make it not so much like a getting-started feel,
although it still leans way that way for an appendix. The content
is not complete.
Had to add in a line to the user-manual.xml file so that the
new appendix would be part of the book.
Had to use a different form of the command in the
user-manual-cusomization.xsl file in order to not through a bunch
of errors for an unrecognized parameter value. I commented out
the existing one.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Tue, 11 Feb 2014 19:45:54 +0000 (13:45 -0600)]
user-manual: Added new chapter to cover BB execution.
This commit added need files, cleaned up bogus links, and
adjusted the build file, which is user-manual.xml.
The new chapter file is "user-manual-execution.xml". The file
has base text from the bitbake section from the "Closer Look"
chapter of the YP ref-manual. This means that I had to initially
include some figures from that book for now. I am not including
them as part of this commit though as they will likely get renamed.
I made sure that all links were removed that were specific to the
YP ref-manual.
Another change was in the user-manual.xml file to include
the new chapter as part of the build.
Another block of text for the new chapter was the "Running a Task"
section from the user-manual-metadata.xml file. Consequently, that
section was deleted from the "Metafile" chapter.
Another block of text for the new chapter was the "Parsing
and Execution" section from the user-manual-metadata.xml file.
Consequently, that section was deleted from the "Metafile chapter.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Fri, 7 Feb 2014 20:39:47 +0000 (14:39 -0600)]
user-manual-metadata.xml: Edits to "Variable Flags" section
Worked through this section with Richard providing an interactive
review. The changes are after the review. There was also a
small edit to the "Tasks" section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Wed, 5 Feb 2014 22:31:46 +0000 (16:31 -0600)]
user-manual-metadata.xml: Rewrite of the "Tasks" section.
I cleaned up this section with some general improvements.
I also broke this up into a couple sub-sections where it seemed
to logically fall. Also, stole some metadata concept from the
next section ("Running Tasks") that really should be lumped under
"Tasks".
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
This patch adds extra checks when selecting and writing
task and recipe objects to the database.
The patch fixes several issues where tasks may have been
misidentified between virtual-native and target tasks,
or spurious task objects may have been created.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
I have move all javascript needed for toggling very long
values for bitbake variables to main.js. I have changed the
names of the classes involved to make them more generic,
since I hope we'll be able to reuse them in other parts
of the Toaster interface.
.full-variable is now .full
.full-variable-hide is now full-hide
.full-variable-show is now full-show
I have also removed all the inline scripting in base.html, since
it is no longer needed.
Ravi Chintakunta [Tue, 18 Feb 2014 04:30:41 +0000 (23:30 -0500)]
toaster: View detailed information about a task
Information about a task is displayed depending on it's execution
status and outcome status.
Edited to iterate through all possible entries for related setscene
tasks.
[YOCTO #4282]
Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
toaster: Fix breadcrumb date format in detail pages
The template basebuilddetailpage.html had the completed
on date in the breadcrumb set to naturaltime. Changed to
d/m/y H:i to match the date format in the basebuildpage.html
template, so that breadcrumbs display the same date format across
all pages.
toaster: Sort packages and dependencies in recipe.html
The tables in the Packages, Build dependencies and
Reverse build dependencies tabs in the recipe details
pages (template recipe.html) should be sorted by package
name and recipe name respectively.
In the recipes table, dependencies and reverse dependencies
are shown inside a popover. The popover headings did not
match the table headings, so changed to "dependencies" and
"reverse dependencies" as per the design spec.
The help text for the Section information in the
recipes table and the recipe details page said
"packages" instead of recipes, and it said there
were 5 possible values for the SECTION variable
(which is not true).
Changed to "The section in which recipes should
be categorised"
When you apply a filter, we show you a tooltip on hover
that tells you which filter you have applied and allows you
to clear it quickly. That tooltip does not disappear
straight away if you click on the filter button: it hangs
in there because the tooltip has a delay specified on
hide. The effect is quite annoying.
This change to main.js makes sure the tooltip disappears when
you click the filter button.
In the edit columns menu, the checkboxes for the columns in the
minimum table are disabled. To better communicate visually
the disabled state, this change applies the .muted class
to the labels of those checkboxes.
toaster: Set the right styles for definition lists
In the task details page, our labels are quite long and
the default width of the dt elements in the .dl-horizontal
class is too small. Changing the width to 200px, and the
left margin of the dd element to 220px.
Changing the bootstrap.min.css file is not ideal (ok, is
a pretty bad hack), but it is the only way to keep the
nice responsive styles for those definition lists.
The templates bpackage.html, recipes.html and build.html included
an inline style declaration in the div containing the h1
tag to add a top margin of 40px. The extra top margin
is unnecessary in bpackage.html and recipes.html, but nicely
separates the Recent builds and All builds sections in build.html.
The changes remove the inline style declaration and create
a .top-air class in default.css to include the extra top margin
when needed, i.e. in the build.html template.
Marius Avram [Tue, 18 Feb 2014 14:39:24 +0000 (16:39 +0200)]
bb/ui: store_dependency_information optimization
This optimization is in support of the bug #5485. The function called
at the beginning of every build: store_dependency_information was taking
approximately 20sec and it was delaying the arrival of events from the
event queue. The change minimizes the calls to _save_a_task(),
reducing the time to half.
Signed-off-by: Marius Avram <marius.avram@intel.com>
Alexandru DAMIAN [Mon, 10 Feb 2014 14:26:12 +0000 (14:26 +0000)]
toaster: mark dependency packages
We need to mark the package entries that are
created solely for dependency tracking purposes.
In order to avoid altering the database schema,
we mark the dependency targets with size = -1, since
this is not a valid size anyway and makes for easy
filtering.
[YOCTO #5803]
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Alexandru DAMIAN [Thu, 13 Feb 2014 13:12:39 +0000 (13:12 +0000)]
toasterui: adding new task outcome empty
In order to separate tasks with invalid states from the
no exec tasks, we add a new value OUTCOME_EMPTY for the tasks.
OUTCOME_EMPTY has the same value as OUTCOME_NA as to maintain
compatibility with already existing builds. New value for
OUTCOME_NA can be used to detect tasks with invalid states, i.e.
it should never appear after finishing a build.
Fixing noexec tasks outcomes.
[YOCTO #5763]
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Paul Eggleton [Mon, 3 Mar 2014 16:54:31 +0000 (16:54 +0000)]
data: add vardepvalueexclude varflag
On rare occasions it's useful to be able to exclude a part of a
variable's value from the variable's signature; for example if you want
to add an item to a list sometimes and not have the signature of the
variable change depending on whether the item is in the list or not. The
initial intended use case for this in OpenEmbedded is to allow adding a
function to SSTATEPOSTINSTFUNCS in buildhistory.bbclass and not have
that change any task signatures (so adding and removing
INHERIT += "buildhistory" won't lead to any rebuilds).
Part of the fix for [YOCTO #5897].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 28 Feb 2014 17:38:15 +0000 (17:38 +0000)]
codeparser: Fix var_execs to append to execs, not references
When using the "execs" information in new code, it became clear that
the returned data was incorrect and there were missing exec'd functions.
This corrects the error and changes one of the test results to match
the correct behaviour.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 28 Feb 2014 17:25:21 +0000 (17:25 +0000)]
fetch/wget: Start to clean up command construction
Start to clean up wget fetcher command construction to allow clearer
and more extensible code structure. Drops support for ${URI} and
${FILE} directly in the commands.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 28 Feb 2014 17:24:24 +0000 (17:24 +0000)]
fetch/svk: Drop usage of old style *COMMAND variable and MKTEMPDIRCMD
Clean up some horrible old code and drop usage of the old style *COMMAND
variable and MKTEMPDIRCMD whilst in here. This means we don't need to touch
OVERRIDES either.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>