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>
Richard Purdie [Fri, 28 Feb 2014 17:23:45 +0000 (17:23 +0000)]
fetch/perforce: 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>
Paul Eggleton [Mon, 24 Feb 2014 18:50:02 +0000 (18:50 +0000)]
fetch2: fix fetching git submodules with git 1.7.9.x or older
Git versions older than 1.7.10 put absolute paths in configuration files
for the submodule repositories, leading to errors when the repository
checkout is moved. We move the repository as a matter of course in the
gitsm fetcher; the failure occurs in do_unpack). Change the absolute
paths to be relative during processing to fix this.
(At the time of writing, Ubuntu 12.04.4 LTS ships Git version 1.7.9.5,
hence the desire to fix this rather than just mandating a newer Git
version.)
Fixes [YOCTO #5525].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cristiana Voicu [Tue, 25 Feb 2014 13:30:10 +0000 (15:30 +0200)]
hob: create a base hob image used to create custom images
In order to remove hob-image.bb from meta-hob, a hob-image.bb should
be created somewhere in the build directory. I've saved it in build/recipes/images
directory, and moved the templates to recipes/images/custom (here are those
templates saved by the user).
The image is created when hob starts. Also it appends to BBFILES the directory
where it is created.
Removed images directory from meta-hob.
[YOCTO #5118] Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jacob Kroon [Sat, 22 Feb 2014 16:52:29 +0000 (17:52 +0100)]
ast: Fix support for anonymous methods in wildcard .bbappend files
When using wildcard .bbappend files with anonymous methods in them,
bitbake/python fails to parse the generated code since the '%' is encoded
in the generated method name.
Fix this by including '%' in the convert-to-underscore list during
method name mangling.
While we're at it, move the method name mangling translation table
to a class variable, as suggested by Chris Larson.
[YOCTO #5864]
Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
David Reyna [Fri, 7 Feb 2014 05:06:27 +0000 (21:06 -0800)]
toaster: implement recipe summary page
Implement the updated design for the recipe summay page, with pop-up
boxes for the dependecies and layer commit ids, column filtering, and
column sorting support.
[YOCTO #4294]
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Table popovers should be mutually exclusive (only one
of them should be open at any given time), and should
close when you click outside their area. But this is not
the default popover behaviour in Bootstrap, so some
additional javascript is needed.
The code in main.js taking care of this in the design
prototype was quite ugly and didn't get on well with
certain browsers. I have replaced it with a better
solution (although still not ideal).
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Some recipes and packages have a lot of dependencies.
To stop their popovers from taking over the full
height of the screen, I have given them a maximum
height and made their content scrollable in
default.css
This patch changes the task_color tag in
projecttags.py to make sure it adds the error
class to the rows corresponding to failed tasks
in the tasks table.
This patch changes default.css so that any anchor
tag inside a table cell with the error class applied
inherits the class styles. This ensures that the
failed tasks listed in the builds table look red
like the failed tasks in the tasks table.
Belen Barros [Tue, 4 Feb 2014 15:23:10 +0000 (15:23 +0000)]
toaster: Make "Edit columns" multiselect
Twitter Boostrap elements with the dropdown-menu class
close by default once a selection is performed. Such
behaviour is not appropriate for our "Edit columns" menu,
since users might want to check / uncheck several
columns.
This patch adds a call to the stopPropagation() jQuery
function to main.js to stop the "Edit columns" menu
from closing every time you change a checkbox.
Belen Barros [Mon, 3 Feb 2014 15:35:47 +0000 (15:35 +0000)]
toaster: Add clear filter button to filter tooltips
This patch modifies the basetable_top.html template to add
the 'Show all' button to the applied filter tooltip. It also
adds a delay in the tooltip dismissal in main.js to allow
users to click the button comfortably.
The patch does not add the functionality to the button (when
you click on it nothing happens). Someone else will need
to add that in.
Belen Barros [Mon, 27 Jan 2014 14:05:54 +0000 (14:05 +0000)]
toaster: Clean up main.js
Clean up main.js to leave only what is being
used in the design prototype.
Initialise the Bootstrap tooltips for any anchor tag inside
a table heading with the btn-primary class applied. This
effectively styles the title attribute of the applied
filters to look like all other Toaster tooltips.
Signed-off-by: Belen Barros <belen.barros.pena@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Dave Lerner [Thu, 23 Jan 2014 17:47:41 +0000 (11:47 -0600)]
toaster: Implementation of package detail views
Adds new package detail views. The views are based on
specifications found in attachments to:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=4328
specifically:
design-1.5.1-package-details.pdf, and
design-1.1.1-included-package-details.
This patch includes a redefinition of constant numbers for
task dependency tasks. This is needed in order to achieve
sorting criteria from the design.
This change invalidates currently dependency information for
currently existing builds, as it breaks compatibility.
[YOCTO #4328]
Signed-off-by: Dave Lerner <dave.lerner@windriver.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Ravi Chintakunta [Fri, 17 Jan 2014 21:27:29 +0000 (16:27 -0500)]
toaster: Filter Dialog fix to display filter options as radio buttons
- Filter options are displayed as radio buttons in the filter dialog.
- To preserve the order of the filter options, the options are passed
as tuples inside a list, instead of key/value pairs of a dictionary. Changed
the filter dialog code to use the tuple
Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com>
Paul Eggleton [Mon, 17 Feb 2014 14:07:41 +0000 (14:07 +0000)]
build: fix handling of task override for tasks with underscores in their names
Tasks whose names contain underscores (such as do_populate_sdk in OE)
when converted to a task override do not function properly. If we
replace underscores with hyphens we can still have a working override
for these tasks.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 17 Feb 2014 14:07:40 +0000 (14:07 +0000)]
parse: make vars_from_file return None for non-recipes
It doesn't really make sense to set PN from .conf files, for example.
More concretely, this avoids the config hash changing unnecessarily
within Hob due to PN effectively changing (since bblayers.conf is
parsed first and then .hob.conf).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Scott Rifenbark [Mon, 3 Feb 2014 17:51:04 +0000 (11:51 -0600)]
user-manual-metadata.xml: Edits through syntax section
I made some general improvements in the "Overview" and
"Basic Syntax" sections. Additionally, I added a blank
section for "Variable Flags" that will eventually hold general
information on this concept. Finally, come review edits to the
"Defining Pure Python Functions" section per Paul Eggleton.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Mon, 3 Feb 2014 13:29:54 +0000 (07:29 -0600)]
user-manual-intro.xml: General edits to Introduction chapter.
I performed a general edit to this chapter. Some significant changes
include changing the chapter's title to "Overview" when it was titled
"BitBake User Manual", doing some consolidation of text to eliminate
a couple sections that described methods to obtain a copy of BitBake,
and various improvements as needed.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Richard Purdie [Mon, 10 Feb 2014 22:50:28 +0000 (22:50 +0000)]
runqueue: Fix setscene hard dependency problems
Commit c54e738e2b5dc0d8e6fd8e93b284ed96e7a83051 added in the idea of hard dependencies
such as the case a setscene has a hard dependency on pseudo-native and that
dependency wasn't available from sstate for some reason.
Unfortunately the implementation was a bit too enthusiastic, causing rebuilds
of things when it wasn't necessary. A test case was:
and then you'd watch quilt-native get rebuilt for no good reason.
The clue to the problem is in the for loop where it never depends on
the item being iterated over.
The fix is to include the exact list of hard dependencies rather than
guessing. With these changes, the use case above works, the one in
the original commit also works.
This patch also adds in or cleans up various pieces of logging to
allow issues like this to be more easily debugged in future.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 3 Feb 2014 16:09:32 +0000 (16:09 +0000)]
data: Account for pre/postfunc functions when calculating dependencies
pre/postfuncs were not being added to checksums. This meant that when reconfiguration
occurred, tasks were not always being rerun when they should. This include
sstate functions as well as systemd's do_install function in the OE metadata.
With the addition of postfuncs, its possible a shell task can have a python
pre/postfunc so we have to guard against this when generating shell output
in emit_func.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 31 Jan 2014 11:17:34 +0000 (11:17 +0000)]
runqueue: Fix race against tasks sharing stamp files
Shared work directories work by assuming bitbake will not run
more than one task with a specific stamp name. Recent runqueue optimisations
accidentally broke this meaning there could be races. This fixes the code.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Irina Patru [Tue, 21 Jan 2014 15:59:38 +0000 (17:59 +0200)]
hob: don't display interruptions as fails
When Hob receives a bb.command.CommandFailed event, it should check if
it's a log kind of information.
"Forced shutdown" and "Stopped build" are messages that show when a build
is not complete, but Hob considered them error.
[HOB #5609]
Signed-off-by: Irina Patru <irina.patru@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Irina Patru [Tue, 21 Jan 2014 15:59:35 +0000 (17:59 +0200)]
hob: change error_msg for CommandFailed event
When a bb.command.CommandFailed event is received by Hob, the error
message is stored inside event.error.
This information tells exactly why bitbake failed, so Hob should display
it instead of the current composed message.
Signed-off-by: Irina Patru <irina.patru@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jan 2014 14:37:04 +0000 (14:37 +0000)]
cooker: Add option of specifying indvidual tasks for targets
Currently its near enough impossible to tell bitbake to run target X,
task Y and target A, task B. We could hack various parts of the API
around but it would mean incompatibilities.
An alternative is to accept the syntax "<target>:do_<task>" as a target
name. The default task would be used where the task is unspecified.
This has the advantage that its neat/clean code and works from all
current APIs including the commandline.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Scott Rifenbark [Mon, 20 Jan 2014 23:47:02 +0000 (17:47 -0600)]
template/titlepage.templates.xml: Suppress Title Text.
I commented out two blocks of code that are responsible
for getting the book's title to format onto the title page.
Commenting the code out suppresses the title from the
PDF version's title page yet retains the title text for the
HTML tab space of the browser. The reason this is necessary
is because the BitBake User Manual uses an image file for
the title. Thus, it is not necessary to print the title
again.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Mon, 20 Jan 2014 21:13:18 +0000 (15:13 -0600)]
user-manual-metadata.xml: Renamed section tag
There were two section tags that used the same id name "classes".
One was in the intro chapter and one was in the metadata chapter.
This was causing an exception in the PDF creation process and
breaking it. I renamed the tag in the metadata chapter
"metadata-classes".
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Mon, 20 Jan 2014 19:09:43 +0000 (13:09 -0600)]
user-manual-ref-variavbles.xml: Added new glossary chapter.
Added a scrubbed copy of the YP ref-manual glossary. The content
was scrubbed to contain BB variables only. Removed broken
cross-references, made sure the PDF file built.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>