Commit graph

2856 commits

Author SHA1 Message Date
Richard Purdie
0e58578ae5 bitbake: runqueue: Fix sceneQueueEvent to use the correct hashes
The runqueue should be using the "realtask" ID to lookup the task
hash, not the "task" ID. This patch resolves corruption issues where
incorrect task hashes were displayed within toaster.

(Bitbake rev: 84be1a27f89d1bf63c21f06d831df0a66a5db860)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 14:20:45 +00:00
Marius Avram
41ed4123a6 bitbake: hob: fix set_extra_setting function
The function is used to save additional variables in the configuration file
when the user adds a new (key, value) pair from the Settings->Others. There
was a problem though when the function was trying to retrieve an older
instance of EXTRA_SETTINGS from the configuration file. Sometimes its value
was returned as a dictionary and sometimes a string, which caused a crash when
calling ast.literal_eval(). The reason of the problem must be a change in
bitbake's parsing system. The changes will fix this issues.

While analysing this problem I discovered that the variables were not saved
properly in the configuration file after consecutive changes to Settings->Others
because of the way saveConfigurationVar() from cooker.py works. This patch
will also solve this issue.

[YOCTO #5989]

(Bitbake rev: bdbcd8866104c315fc9da631407d4280433dbfde)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:26:55 +00:00
Marius Avram
22af8031cd bitbake: cooker: delVar in removeConfigurationVar
When a variable was removed from a configuration file it was not
removed from memory. This also had the effect of not allowing
to set a new value for the same variable with saveConfigurationVar.

(Bitbake rev: 30cd1fab6633aaf50ef53eefccc6d69d598eb293)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:26:54 +00:00
Scott Rifenbark
843e3ecf9e bitbake: user-manual-metadata.xml: Added varflag for vardepvalueexclude.
Fixes [YOCTO #5897]

Added several new varflags to the existing list in the
"Variable Flags" section.  The key one being the
"vardepvalueexclude" flag.

(Bitbake rev: 01a07dabb0d0c6a7f8c3c048396cfdf9d756b032)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:23:06 +00:00
Scott Rifenbark
37f7820d4d bitbake: user-manual-metadata.xml: Edits to "Basic Variable Setting"
Fixes [YOCTO #5507]

I applied some edits from Richard's review to the fix for
handling variable setting.  Moved the new section I created into
the existing "Basic Variable Setting" section.

(Bitbake rev: 0d63589abfa6b353f3b456a9a91de4dd98eb3965)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:23:06 +00:00
Scott Rifenbark
c0a13d21cf bitbake: user-manual-metadata.xml: Sections to handle variable setting added.
Fixes [YOCTO #5507]

I provided further explanation in the "Basic Variable Setting"
section to note that trailing and leading blanks are not stripped
from a value when set (e.g. VARIABLE = " value").

I added a new section "Null and Blank Setting" explaning that setting
a variable to "" and " " are two different things.

(Bitbake rev: 96d0b38577476a3576487f1fa9a4b6c9dff5d3ed)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:23:06 +00:00
Scott Rifenbark
019c868596 bitbake: Makefile: Added publish tag so the book can be published.
(Bitbake rev: a895f76836c867822f5be33546e51b285e7016e0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:23:05 +00:00
Alexandru DAMIAN
478f1b7afe bitbake: toaster: replace package dependency tag w/ view queries
This patch moves the queries for package dependencies from the
project tags to the views. This is done to bring the code inline
with the Django philosophy of making all data queries in views.py

This change has no performance implication.

(Bitbake rev: 9dd53bd4355148916a89cf672b6c5db5f6b1ae35)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Alexandru DAMIAN
70f1a3db5e bitbake: toaster: clean exit on bb server shutdown
This patch adds the capability to have the Toaster UI
detect when the Bitbake server exited and cleanly
trigger a clean shutdown of the system through the toaster
starting script.

(Bitbake rev: a9cfa3eacfc99550e1ad3f8bb61b2a0bc9b44332)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Alexandru DAMIAN
1913a1751d bitbake: toasterui: save missed sstate tasks
We save the missed sstate tasks as tasks that executed
but have the sstate_result set to "SSTATE_MISSED", signaling
that the attempt to find an sstate file failed.

(Bitbake rev: 6f22e02614adcc642fe011e5e31ca4936d1cb19d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Alexandru DAMIAN
1d20fc44ea bitbake: toaster: select recipe based on PN name
When saving task stats, if there were multiple tasks executed
based on the same recipe file, we might have saved the stats
to the wrong task by selecting another recipe.

This patch takes the PN into account to properly select
the file stats.

A check is also made to make sure we don't fail saving
data due to interrupted builds.

(Bitbake rev: e855031410daf2b99a6ca40b70956fe67c96f71c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Irina Patru
a6c3cb705d bitbake: toaster: Remove circular dependecies from packages/recipes
The RelatedManager for Package_Dependency and Recipe_Dependency is changed
so that circular dependacies are hidden in the UI, but will still remain in
the database.

[YOCTO #5655]

(Bitbake rev: 77e6cc952e73dec4a6e5149e52f87000709d2152)

Signed-off-by: Irina Patru <irina.patru@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Amit Kumar Chaudhary
da1b795a9a bitbake: toaster: combine ready functions
Merge the code into single ready function.

[YOCTO #4283]

(Bitbake rev: 16e6fc6e0492f4ebd5f18bd236478b6f9f778a1e)

Signed-off-by: Amit Kumar Chaudhary <amit@floatingpondtech.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
David Reyna
f5d616ef3e bitbake: toaster: add search by section to all recipe page
Add the 'section' to the searchable columns list for the recipe model.

[YOCTO #5993]

(Bitbake rev: 560569d0e1e5de694bc19d09bdf98890af54a6d6)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Cristiana Voicu
9e376dbed2 bitbake: bitbake toaster: check the file_name with the content of the IMAGE_FSTYPES variable
File_name information of Target_image_file is being collected for a
.rootfs.manifest file. We would like not to collect this. The solution is
to cross check the information gathered for file_name with the content
of the IMAGE_FSTYPES variable. If any of the file_name entries does not
match the content of IMAGE_FSTYPES, we do not store it.

[YOCTO #5189]

(Bitbake rev: 017771ed0508b247edaf875789260906f44381f4)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Marius Avram
2d4199ba8c bitbake: toaster: apply filter only on selected attributes
This fixes the filter from the main page: 'All builds' applied to the
table header. Once one is selected, the filter button for that respective
column will receive a title attribute which will show additional options
when you hover over it. Until now the additional option was active for
all filters buttons not only for the one selected. This also caused
malformed output in the case of the buttons which weren't among the
selected filter.

[YOCTO #5929]

(Bitbake rev: 50e7f8f3bcfdd5b3e1b7778bfaaa93a563aba45d)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena
4f44b8b952 bitbake: toaster: Change "0 found" to "No found"
Change the string in the h1 when search returns no results
from "0 things found" to "None things found". The change
applies to the BitBake variables, tasks, recipes, packages
built, time, CPU and disk I/O tables.

[YOCTO #5981]

(Bitbake rev: 8d71bd39947dd909d02c8d33847e5852c9f20f19)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena
cf3d6bdafd bitbake: toaster: Update local configuration counter
The counter for the local configuration filter in the
variables table was counting only variables set by
local.conf. Updating to add in variables set by
bblayers.conf

(Bitbake rev: 0047dd486c23707dd0fd7f9a2ae485b987d0b3e3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena
1b721103de bitbake: toaster: Add help text to filters
The 'Set in file' and 'Description' filters in the configuration page,
and the 'Outcome' and 'Cache attempt' filters in the tasks page should
include a help tooltip with some explanation about what they do.
This change adds the tooltips.

(Bitbake rev: 7793de593121da9761e4584331b68bf684112300)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena
259611b821 bitbake: toaster: Fix alignment issue in searchform
The search form in basetable_top.html had a small alignment
issue between the search text field and the search button.
This change aligns the elements correctly.

Whitespace fix by Alex Damian.

(Bitbake rev: 54ec8dfe779bc20d5aaeeeeb768da8412e5dfd0f)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Dave Lerner
ecfb339d50 bitbake: toaster: fix package size 1st sort order
[YOCTO #5914]

On the pages with tables listing packages with a size column, change the
first click sort order on the size column so that packages are sorted in
decreasing order instead of increasing order.  It is more likely that
the user sorts this page data by size because the user is interested in
those packages consuming the most disk space.

(Bitbake rev: 3d69f5cdf154df83e7a487e1b609bb8f7b5b6df2)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena
0525edb25c bitbake: toaster: Change objectname 'packages' to 'packages built'
This will set the placeholder attribute of the search input
field in bpackage.html to the required "Search packages
built".

[YOCTO #5977]

(Bitbake rev: 841a086822a3fa740b5651938aee6a42eba58409)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
David Reyna
ef1063610a bitbake: toaster: reset default filter for configvar page on new searches
The configvar page has a default filter by design. However, new search terms
should override and clear that filter, for consistency across the interface.

[YOCTO #5961]

(Bitbake rev: b80c578d9330a45e9c2502701de2ebb6307b1caf)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
David Reyna
4f02193f05 bitbake: toaster: warn new filter replaces existing filter
If the user pop-ups a filter dialog when another filter is already
active, warn the user that the new filter would replace the
previous filter.

[YOCTO #5960]

(Bitbake rev: 6be58123fcdb0ff20de2a88315e1e3012effd1d3)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:32 +00:00
Alexandru DAMIAN
604d2c8df3 bitbake: toaster: Revert "added file types to the Outputs column in the build page"
This reverts commit d40ac966b2.

Sloppy review on my part let the original patch in, when it should've
been rejected because the filter tags should have no knowledge of the
object system.

(Bitbake rev: 7e59b6b1cb44de00c512facece5ede96375a411f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:32 +00:00
Marius Avram
299fbbf31a bitbake: hob: output filenames based on initial recipe name
If a recipe for an image was edited from the hob interface the name
of the files outputed in the <build_dir>/tmp/deploy/images/${MACHINE}/ and the
temporary recipes from <build_dir>/recipes/images/ contained only the
generic name "hob-image". From now on both the temporary recipes and
the output from the deploy/ directory will contain the name of the base
recipe appended by the "-edited" suffix, in the case when a base image recipe was
edited. The base recipe can be a standard recipe (e.g core-image-minimal) or
a custom created and saved by the user.

For example, if core-image-minimal is edited the deploy/ directory will contain
core-image-minimal-edited-20140318-140428-qemux86.ext3 and the recipes/images/
directory will contain the recipe core-image-minimal-edited-20140318-140428.bb.

[YOCTO #5002]

(Bitbake rev: f34575809677dc52e1071a3ae3daebe92819cec0)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson
7dd4bf6310 bitbake: fetch2.URI: Set username/password should not change the other
When setting the username after already having set the password, the password
was unexpectedly reset. This change fixes this issue and introduces unit tests
to make sure it doesn't happen again.

(Bitbake rev: 25faef3a047f9c7564089463d7c96f6910b640cb)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson
57484d68df bitbake: fetch2.URI: Support URIs with both query strings and params
There is a case in meta-intel where a SRC_URI contains both a query string and
URI parameter:

 https://edc.intel.com/Download.aspx?id=6190;downloadfilename=LIN_IEMGD_1_14_GOLD_2443.tgz

Python's urlparse thought the URI parameters were part of the query parameter
value, but in the bitbake context this is obviously not the case. As bitbake's
usage isn't really RFC compliant, we have to extract and remove the URI parameters
*before* urlparse sees the URI.

(Bitbake rev: c2f27ae4271985b48f957747b6ea372c8699cb49)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson
aca2d14e93 bitbake: fetch2.URI: add support for query parameters
This change introduces the .query property of the URI class. It is a
read/write dict of the parameters supplied in the query string of the
URI. E.g.:

  http://example.com/?foo=bar => .query = {'foo': 'bar'}

(Bitbake rev: 1cb2b3c458c8c5521591d2c8f2e0058143fc77bb)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson
64fdd3abbb bitbake: tests.fetch: Remove debug assert
(Bitbake rev: f112660bca0ed8be061055b1e388deeb2d1980a7)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson
86860bbfd9 bitbake: fetch2.URI: Coerce urlparse to use netloc for all schemes
(Bitbake rev: 4d502578f022bcf772780550c047b8c09ba01443)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:45 +00:00
Alexandru DAMIAN
3175653fe0 bitbake: toaster: fix task elapsed time calculation
This patch restricts the elapsed calculation to just
the events that have the "time" parameter set.

This fixes an error where data was lost due to an exception
where invalid dictionary lookups were made on the wrong
events.

(Bitbake rev: fa9f4eb8784553deb782bff34c5e04012c2c52c9)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:53 +00:00
Dave Lerner
4cdd56fff3 bitbake: toaster: image information views
[YOCTO # 4346]

When a target image is selected, this commit adds to the toaster
project a two-tabbed page that shows
1) 'packages included' a table of packages included in the image
(see target.html), and
2) 'directory structure', the target image's file system directory
and detailed information showing the source of each file in the
directory table (see dirinfo.html).

The directory structure tab relies on the open source jQuery plugin
jtreetable which provides hierarchical table expansions and contractions
of the directory entry tables as the user drills down into directories.

A file of jtreetable styles that are compatible with other toaster styles
is provided included as css/jquery.treetable.theme.toaster.css. The
complete unaltered jtreetable plugin is added via a separate commit.

This work was developed base on the bugzilla specification number 4346
and the document "Design 1.1 Image information" attached to that report.

Whitespace and typo fixes from Alex Damian.

(Bitbake rev: 1ba9f310a8b4fd0952a95be86ab43ae27fe6d983)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:53 +00:00
Dave Lerner
e94f0b4e8c bitbake: toaster: add jquery treetable plugin
This commit includes the critical javascript and css files
downloaded from http://plugins.jquery.com/treetable version 3.1.0.
The following is from the author's README.md included with
the license files in the directory static/jquery-treetable-license.

"jQuery treetable is a plugin for jQuery, the 'Write Less, Do More,
JavaScript Library'. With this plugin you can display a tree in an
HTML table, e.g. a directory structure or a nested list...
Download the latest release from the jQuery Plugin Registry or grab
the source code from Github. Please report issues through Github
issues. This plugin is released under both the MIT and the GPLv2
license by Ludo van den Boom...
See index.html for technical documentation and examples. The most
recent version of this document is also available online at
http://ludo.cubicphuse.nl/jquery-treetable. An AJAX enabled example
built with Ruby on Rails can be found at
https://github.com/ludo/jquery-treetable-ajax-example."

Author: Ludo van den Boom

The relevant files were moved to the static/js and static/css
directories to match the existing javascript and css toaster
deployment model.

The applicable licenses and the README are in
static/jquery-treetable-license.

(Bitbake rev: 9a260d8b08053e3dcc2fe5960e060b2da1109790)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:53 +00:00
David Reyna
6f5e196d0f bitbake: toaster: filter out setscene tasks in recipe details
Filter out any *_setscene tasks in recipe details page, as
they are not relevant.

[YOCTO #5913]

(Bitbake rev: 3aca83accd6755d518d6b6c667e685020efdfb8d)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:53 +00:00
Belen Barros Pena
d5ff3016f3 bitbake: toaster: Amend failed tasks behaviour
In the builds table, when a build reports more than one
failed task, the number of failed tasks should be a link
to the tasks table with the failed tasks filter applied.
Amend the URL to include the filter.

(Bitbake rev: 7d93dd7a1ddb43279e0e1309ac6d935bf6b2ec97)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena
3a36186f03 bitbake: toaster: Set display of "Cache attempt" column
The "Cache attempt" column should display by default in the
tasks table, but should be hidden by default in the time,
CPU and Disk I/O tables.

(Bitbake rev: dc96eecd2e8bef1b4d4fc500bf496b3edb91f808)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena
496365c4c9 bitbake: toaster: Remove extra space in the breadcrumb
For builds with more than one target, remove the extra
space between the '+' and the number of targets - 1.

(Bitbake rev: 0d5e342d8878d8aff0ffe723be376845cccd8720)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena
8936cec3db bitbake: toaster: Change "Package version" to "Version"
We use "Version" everywhere else.

(Bitbake rev: 9def611e25c0d90285012cf44cb40256984368f3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena
4f812cd569 bitbake: toaster: Remove trailing spaces from 'name'
Those extra spaces were showing in the heading of the
filter modal dialogs.

(Bitbake rev: ed958d288de92faf8bd17a067c7a7f719dacd27d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena
c9065cb95b bitbake: toaster: Add link to the Toaster manual
The Toaster manual will live at
http://www.yoctoproject.org/documentation/toaster-manual
and should open in a new tab / window.

(Bitbake rev: 4e382ac6b5c1da497caa1ece3fcdc404dd02c058)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Alexandru DAMIAN
f191ab0198 bitbake: toaster: measure task duration with server-side timestamps
The buildstats and toaster use separate time markers to measure the
duration of task execution. This causes a mismatch in the time
measured by buildstats class and the time measured in toaster.

The solution implemented here is to timestamp the creation of
every TaskBase event on the bitbake server side and calculate
the execution duration as the difference between creation time
of TaskSucceeded and TaskStarted events.

Based on an original patch by Marius Avram.

[YOCTO #5485]

(Bitbake rev: 7a08282c074c264f414cf7665dc873f51245072c)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Marius Avram
888683de7a bitbake: ConfHandlerr: Use full path in variable history
When an evaluation was made for a configuration file the path to the
file was saved as a relative one. The change in this commit will save the
location as an absolute path. This way the user will have full information
regarding the location of the file where a variable was changed and the
line withing the file.

[YOCTO #5562]

(Bitbake rev: df9e22901555b06fef308f7136547f2c47ccec35)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 13:51:51 +00:00
Richard Purdie
49aad7da07 bitbake: runqueue: Remove use of waitpid on worker processes
Use of waitpid on the worker processes is a bad idea since it conflicts
directly with subprocess internals. Instead use the poll() method
and returncode to determine if the process has exitted, if it has,
we can shut down the system.

This should resolve the hangs once and for all, famous last words.

(Bitbake rev: 60969cd62e21e7d4af161bf8504b7643a879c73f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19 17:46:33 +00:00
Richard Purdie
ac4ff568f5 bitbake: runqueue: Revert child signal handler for now
We're running into processes using 100% cpu. It appears theses are locked in
a subprocess.poll() type loop where the process has exited but the code is
looping as its not handling the ECHILD error.

http://bugs.python.org/issue14396
http://bugs.python.org/issue15756

This is likely due to one or both of the above bugs. The question is what actually
grabbed the child exit code as it wasn't this code. Its likely there is therefore
some other code racing and taking that code, it may be some kind of race like:

http://hg.python.org/cpython/rev/767420808a62/

where the fix effectively catches the childs codes in a different part of the system.

We could try and get everyone onto python 2.7.4 where the above bugs are fixed however
for now its safer to admit defeat and go back to polling explictly for our worker exit
codes.

(Bitbake rev: 5b9a099ec2a1dc954b614e12a306595f55b6a99e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19 13:48:58 +00:00
Richard Purdie
ea52b5e21b bitbake: runqueue: Don't catch all child return codes
Catching all child exit status values is a bad idea. Setting an http sstate mirror
is a great way to view that spectacularly break things. The previous change did
have good code changes so don't revert those parts.

(Bitbake rev: fa7ffb62d510ac1124ae7e08fa4d190a710f5b54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19 13:48:57 +00:00
Richard Purdie
0150bc30d3 bitbake: runqueue: Really fix sigchld handling
There are several problems. Firstly, a return value of "None" can mean
there is a C signal handler installed so we need to better handle that
case. signal.SIG_DFL is 0 which equates to false so we also need to
handle that by testing explicitly for None.

Finally, the signal handler *must* call waitpid on all child processes
else it will just get called repeatedly, leading to the hanging behaviour
we've been seeing. The solution is to only error for the worker children,
we warn about any other stray children which we'll have to figure out the
sources of in due course.

Hopefully this patch gets things working again properly though.

(Bitbake rev: 973876c706f08735c1b68c791a5a137e5f083dd2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18 23:05:53 +00:00
Richard Purdie
e58089b9d7 bitbake: runqueue: Ensure handler does not recurse
Failures on the autobuilder look like this handler is recursing. That
shouldn't be possible but it doesn't hurt to code as such.

(Bitbake rev: e39e85803cbe1ef9413a118868c19087c0546d01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18 11:32:52 +00:00
Richard Purdie
6bbb179cc5 bitbake: runqueue: More carefully handle the sigchld handler
We've noticed hanging processes which appear to be looping around
waitpid. Its possible multiple calls to teardown are causing problem
or in theory multiple registrations (although the code should not
allow that). Regardless, put better guards around signal handler
registration.

(Bitbake rev: 79acfb0853aa3215215cee89a945f8e97b0a8fae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18 10:23:13 +00:00
Valentin Popa
1f16ca9fba bitbake: hob: sync after image deploy
Showing "Deploy image successful" after 'dd' returns
may determine the user to disconnect the usb stick even
though the writing operations are not finished.
This patch makes sure that the entire image is deployed
on the usb stick before the user is informed about any result.

[YOCTO #5892]

(Bitbake rev: cc98b19112ab875ebc7cb604cd96acadac4cbf21)

Signed-off-by: Valentin Popa <valentin.popa@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-17 15:57:35 +00:00