msg: Add stdout/stderr filters

Add logging filters which can be used to split output between stdout and
stderr, ERROR messages and above as passed by the Err filter, anything
below ERROR is passed by the Out filter. This is useful when trying to make
stderr more useful.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
knotty: Ensure the progress bar shows on stdout

I can understand why some programs would want the progress on stderr so
that real output can be captured on stdout. This is confusing for bitbake
since we don't show a progress bar at all in non-interactive cases.

Therefore make sure the progress bar goes to stdout, not the stderr default.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
knotty: Split error output onto stderr

When using bitbake -e in scripts, it would be helpful if the error
output appeared on stderr, not stdout. This change enables that building
upon the new bb.msg filters.

[YOCTO #5274]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
knotty: Show a link to the logfile for failed setscene tasks

Its not immediately obvious to the user that a logfile exists for a failed setscene
task. Add code to knotty to display where that logfile is in those cases.

[YOCTO #6055]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
.gitignore: update documentation directory name

In the yocto-docs repository, the documentation is stored in a directory
called "documentation". In this repository the documentation is stored in
"doc".

This update allows git to properly ignore generated documentation.

Signed-off-by: Trevor Woerner <trevor.woerner@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
toaster: add Image detail and multiple targets to dashboard

Filled in the Image section detail information and allow for multiple targets.
Each target has a separate section. Added license manifest display. Changed the
target of the license manifest link. Added Tasks failed in the build summary.
The target lists required filters to create sorted lists.

[YOCTO #4258]
[YOCTO #5936]

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
toaster: blocks for custom/highlighted navigation and breadcrumb links

Implement the navigation links as blocks so that each page can override and have
its respective link appear highlighted. Make the build breadcrumb a block so that
it is customizable to not be a link for the dashboard page. Reorder the page headers
to be consistent order for extends, projecttags, localbreadcrumb, nav-links.

[YOCTO #5916]
[YOCTO #4258]

Signed-off-by: David Reyna <David.Reyna@windriver.com>
toaster: insure _get_query returns distinct records

The '_get_query' can return duplicate records if a search term appears
multiple times in the same row, so the queryset must be made
distinct before returning.
This commit also removes the initial special case for configvars in
favor of this general solution.

[YOCTO #6012]

Signed-off-by: David Reyna <David.Reyna@windriver.com>
toaster: Fix typo in heading code

Fix typo in the code that handles the changes
in the h1 text in order to display the number of results
returned by a search.

[YOCTO #6001]

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
toaster: show installed package name

[YOCTO #5922]

Implement changes that show the installed package name after the
official 'recipe-named' package name.  If the alias exists and
is different than the package name, then the alias is shown as a
'muted' string after the package name in the form 'as some-alias-name'.
This formatting appears in the included package pages in the elements:
* local breadcrumbs at the top of package included pages,
* <h1> title headings along with a help bubble that is not hovering,
and
* package lists where the help bubble appears when the mouse hovers
over the row.

The changes in detail in this patch per file are:
views.py
- added function that tests whether the package object's installed_name
should be shown,
- added function that appends package name with version and revision to
encapsulate package name formatting in one place and referred to as
package.fullpackagespec,
- changed package_built* and package_included* functions to use both
of the above new formatting functions, passing the formatted values to
templates, and
- adhered to django coding styles by renaming  module local
'get_package*' functions with "_" prefix.

package_detail_base.html
- added display of package aliases for included package page,
- refactored to use package.fullpackagespec, formatted by view function,
- added javascript function to format package alias with help, and
- removed trailing whitespace.

package_included_detail.html
- used javascript function above to format package alias, and
- refactored to use package.fullpackagespec.

package_included_dependencies.html
- used javascript function above to format package alias,
- refactored to use package.fullpackagespec,
- forced empty data cells following hover-help to draw borders
by appending space, and
- removed trailing whitespace.

package_included_reverse_dependencies.html
- use javascript function above to format package alias,
- refactor to use views fullpackagespe, and
- force empty data cells following hover-help to draw borders
by appending space.

package_built_detail.html
- refactored to use package.fullpackagespec, and
- removed trailing whitespace.

package_built_dependencies.html
- refactored to use package.fullpackagespec, and
- removed trailing whitespace.

projecttags.py
- removed unused filter to handle installed name
- removed extra spaces around "title = " in format_vpackage_namehelp

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
toaster: add support for empty states in pages

Add support for empty states in the top build page,
the all packages page, and the all tasks page.

[YOCTO #4865]

Signed-off-by: David Reyna <David.Reyna@windriver.com>
toaster: added file types to the Outputs column in the build

The file types are displayed in the Outputs column in the build page. The file types
are derived from the target image filenames.

[YOCTO #5947]

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
toaster: fix dirinfo empty dir expansion

[YOCTO 6036]

In the page that shows the directory layout for an image, if the
directory is empty, then the directory folder icon should be black and
the table row should not be 'expandable' on a mouse click.  That
behavior depends on the directory's child entry count calculated in the
view function controlling that page.

Two images in the database with the same directory path in the target
image, but one with path having entries and the other not having
any entries caused the path without entries to be clickable; the
query for a directory's count of entries, didn't filter on the image id,
only on the path.

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
toaster: filter tasks with cache attempts for all attempts

Adjust the filter for task cache attempts to include all attempts except
SSTATE_NA.

[YOCTO #5923]

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
world-image: add extra target

* similar to world target, but collects all PACKAGES
* recipes marked with EXCLUDE_FROM_WORLD are excluded from world as well
  as world-image
* recipes marked with EXCLUDE_FROM_WORLD_IMAGE are excluded completely
  from world-image, sometimes you can build 2 recipes in same sysroot,
  but cannot install them in the same image
* PACKAGES listed in EXCLUDE_PACKAGES_FROM_WORLD_IMAGE are also
  excluded. You can remove e.g. ${PN}-dbg, but keep all other PACKAGES.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>