Commit Graph

366 Commits

Author SHA1 Message Date
Michael Wood 5b8a62dad7 bitbake: toaster: libtoaster: Add getProjectInfo utility function
Add a utility function to return a specified project's info/config
This re-uses the existing server code path for the project edit
except that it allows any project id to be used as a parameter

(Bitbake rev: af42ea5f006c5cf55a7c57a42904f412639d261f)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Michael Wood fa9206e427 bitbake: toaster: Create libtoaster.js with some utility functions
Replace main.js with libtoaster. This can be a place for common
functionality for toaster. Calling it lib... makes it more obvious as
well as helps with code readability due to the namespacing.

(Bitbake rev: cdf6178ae3675b40afca9f08d491ca1b7e45914e)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Alexandru DAMIAN 0b6859cdf3 bitbake: toastergui: layer name correlation
This patch modifies how layers are identified and matched.

Layers were primarely organized by the source of layer information,
and Releases were separated by both layer git branches and originating
source of layer information. This setup prevented mixing layers from
different sources for a certain release, which didn't match the way
people use Yocto Project / bitbake.

This patch brings name-based indentification, where layers with the
same name are assumed to be equivalent, in the sense of being able
to substitute one another. To facilitate this identification to
humans, layers are differentiated by GIT URI instead of layer sources,
which was a rather arbitrary abstraction.

Additional changes include modification to models in order accomodate
for the new data structure, and to config file loading to match
the new toasterconf.json layout.

(Bitbake rev: 4357200aed522ad56cfd84917f877645b83b6a70)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Michael Wood 5b0616ad7d bitbake: toaster: skip virtualenv when searching for django apps
If we are using a virtualenv in the current search path we end up trying
to add modules to the django apps list which do not have the correct
load path or are internal to other modules. Fix this by skipping the
virtualenv path.

[YOCTO #6896]

(Bitbake rev: 3f614295d688c33b690f63ff7eb28e6988707919)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Alexandru DAMIAN c5d19aae55 bitbake: toastergui: fix XSS injection points in projects page
We close XSS injection points in Projects page.

* modify the json filter to properly escape HTML tags in strings
* enable $sanitize to automatically sanitize dangerous HTML in
user-supplied input
* clean dangerous characters in targets field, as that field contents
will be directly passed to a shell command

Based on the vulnerability discovered and the patch provided by Michael Wood.

(Bitbake rev: 23c440db9c076ca37e651bdbbdbefee54998e1dc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Alexandru DAMIAN 326d5b1a28 bitbake: toaster: importing angular service
We import angular services ngRoute and
ngSanitize that helps performing user-input
sanitization in order to prevent XSS.

Both services are version 1.2.23.

License is MIT.

(Bitbake rev: 4165895329b3a5e439a38ee749b089637dc502d7)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Belen Barros 76f1800f11 bitbake: toastergui: Silly UI fixes
Small fixes to the UI of the project.html and targets.html templates.

In project.html:

* Remove some inline styles and replace them with declarations
in default.css

* Make sure that the 'add' and 'build' buttons in the project
configuration areas have nice, rounded corners

* Add some space between the machine name and the change icon

* Remove the input-prepend class from the build form (we don't
need it)

* Apply the success class to target names in completed builds

* Bold machine and project name in the change notifications to
match all other notifications

* There is a bug in Twitter Boostrap in tooltips inside buttons, so
moving the tooltip in the 'build' button outside the button tag

In targets.html, just add a missing space between the semicolon
and the first layer name in the add layer notification.

(Bitbake rev: 19113c4fe915be7db51ab06dfab5ea0797faea84)

Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Michael Wood 3a338a2be7 bitbake: toaster: Replace bootstrap js with the correct version
The bootstrap version we are working with is 2.3 not 3

(Bitbake rev: 76c90fe9dcd6fc1aa7e82d9dca0ea9e653d322a1)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Alexandru DAMIAN 7b65fa9bbb bitbake: toastergui: changes for the Project page, round 3 of reviews
This patch implements the round 3 of reviews for the Project
page, including fixing the time display, fixing the build list
display, with fade-in and fade-out animations, and various
small layout fixes.

[YOCTO #6587]
[YOCTO #6731]

(Bitbake rev: 09e3ba8f800a03de731b022543cae33a46be17ef)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:49 +00:00
Alexandru DAMIAN abf7551f60 bitbake: toaster: separate the load configuration file command
We separate the load configuration command as to allow
system administrators load toasterconf.json file as part of the
setup process.

[YOCTO #6895]

(Bitbake rev: 3ed596ac4e21a4494fd7f6cd8739d460fd98512f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:49 +00:00
Michael Wood 6f0496ef55 bitbake: toaster: Update filter count labels when Add/Remove layers
When the user has added/removed a layer but no page reload/requery has
happened we need to update the filter count labels client side.

[YOCTO #6861]

(Bitbake rev: d17e8425de6c609394b9a029afa2dcb455df0b3c)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:49 +00:00
Michael Wood 6cfd8aa148 bitbake: toaster: Fix the table data so that it matches the column order
This fixes the issue where the column is under the wrong table header.

[YOCTO #6684]

(Bitbake rev: 4ef276e379d58130bb50024d7b74b7774fce6fdd)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:49 +00:00
Alexandru DAMIAN 42afeb422e bitbake: toastergui: Various fixes for projects, layers and targets page
This is a combined set of fixes for the project, layers and targets
pages in the project section of toaster.

The fixes correct behaviour and look in various parts of the page,
including submitting XHR commands and updating the DOM with the correct
info.

(Bitbake rev: 96d7738f964784871c928c376cb9fbc9a275cf00)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 46f1fbe3ab bitbake: adding angular-animate plugin
We add a static copy of the Angular's animate plugin,
version 1.2.23

Licensed under MIT.

(Bitbake rev: 12162fda32af4bc805d6ff5b0348d93befe2f623)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 78e3a7877b bitbake: toaster: update Release model to pinpoint to specific Branch
We update the release model to pinpoint to specific branch,
instead of holding a branch name that needs to be matched.

This is needed because we move away from mixing branches on different
layer sources.

Various minor changes to models file.

(Bitbake rev: d58aacc69b1832f99758b941803123329e06082d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 990fb9ed6c bitbake: toaster: SQL query logging
We add a logger, enabled through the settings.py, that
logs all SQL queries, with timestamp and duration, to console.

This is helpful in profiling the SQL queries.

The facility is disabled by default.

(Bitbake rev: 54fd0a76fa3154adfab5688ecc96963f42cded11)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 0ca70ce37a bitbake: toaster script: webport option and other improvements
We add the "webport=" command line option as to allow starting
the web server on a custom port.

The bitbake server port is now auto-allocated. This is needed
to be able to run multiple toaster environments on a single machine.

We tackle bug 6023 (toaster refusing to start when lock file is present)
by using more specific checks, and automatically recover from
bitbake server down / webserver up error mode.

Command line parameters are now read on both interactive and managed
modes.

The localhost and ssh controllers are updated to work with the modified
toaster launcher script.

[YOCTO #6023]

(Bitbake rev: cd3eb5b051743463cfe51dba97cae4da75420048)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 7bd03ac241 bitbake: toastergui: fix invalid build url usage
We need to pass the URL for the build action as javascript
parameter, since the project ID is different for each build,
instead of using the project id of the most-recently-used project.

(Bitbake rev: 35c1de4b05c64ee1c436be2dfbd97dcf9ed9ed71)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Alexandru DAMIAN 24dab21567 bitbake: toaster: update web vcs fields for layers
We update the layer vcs web fields to record extra URLs
for directory and file viewing. Updating the layers
view to show this data.

(Bitbake rev: 14762e182c8af22fd0fa96f0ba0db1ecd2495fbc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN 298c3d52ba bitbake: toastergui: provide download file capability
We add, for the localhost environments, the capability to
download build artifacts. This is a pontentially dangerous API,
because it gives unrestricted read access to the build environment
file system - do not expose the functionality directly to the
web layer, but use filtering/translation code, such as
exemplified in the build_artifact view.

The capability for remote build environments is dependent
on bug 6835, as to use the collect storage as intermediary
storage for serving files.

[YOCTO #6834]

(Bitbake rev: 5fce7f6e83c6143244faa9618b7ed20c1106e08f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN 2837b110ae bitbake: toaster: change startup parameter passing to avoid race
We avoid a race between the setting the TOASTER_BRBE variable
and reading the variable in toaster ui by supplying the variable
at server startup time through the toaster.conf post-read file.

Additional small changes are included, including marking the
build request with the environment id of where the build took place.

(Bitbake rev: 7c333350418c4140e6c988c5272940f8057d327d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN a0660718e6 bitbake: toaster: improvements for admin pages
The default django URL validator marks git URLs as not valid,
so we change the default validators to a URLValidator-derived
that adds git and ssh protocol schemas and inhibits the
frontend URL validator.

We update the branch names based on the white-listed
branch names in the Releases name.

Adds proper class string to ease usage in admin section.

Other small improvements.

(Bitbake rev: 7d51f895bd56bd18f2258059b377851c2ce82114)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>

Conflicts:
	bitbake/lib/toaster/orm/admin.py
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN 97c0beb0eb bitbake: toaster: use modified validators for git url fields
The default django URL validator marks git URLs as not valid,
so we change the default validators to a URLValidator-derived
that adds git and ssh protocol schemas and inhibits the
frontend URL validator.

(Bitbake rev: 7223619505c0939358287e5baf84da0a91cb8d34)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN a1f7a09801 bitbake: toaster: changes to the landing page
This patch brings in a new landing page to be shown
when there are no builds and no projects available.

The builds page now displays only only the builds part,
without the landing page bits.

There is a new projects page that displays the All Projects
table as specified in the design.

[YOCTO #6682]

(Bitbake rev: c6c7c05521daa9bf16c122d7d472330ca4c05e88)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN c7382dbd8b bitbake: toastergui: protect variable value reads
We make sure we don't throw an exception when reading
non-existent variables from the database, and we return
empty data that can be displayed without ill effects.

This fixes the Configuration page on empty builds.

(Bitbake rev: 5b13eabdec1e8a052d343fd67654d7fe8974224f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN 477587b996 bitbake: toastergui: refactor objects get in views.py
We refactor the objects.filter()[0] pattern to the proper
Django QuerySet usage of objects.get() to make sure we
get one and only one object for a query.

(Bitbake rev: 6abec6631fbadaecc474f2a4e7981fde3c58657c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN 1b109c7908 bitbake: toastergui: project edit capabilities in all layers page
This patch definitivates the all layers page, providing interactivity
for adding and removing layers inside the project from this page.

[YOCTO #6590]

(Bitbake rev: e690080f83ad53c5e4a31e8c0fba2cc744eea1eb)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN 960580cb70 bitbake: toaster: fix Project page in order to trigger builds
This patch rewrites the Project page and the additional
infrastructure in order to fix a bug that makes triggering
builds through UI impossible, and to introduce data feeds
for suggestions for the user.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN 1a463ab98e bitbake: toaster: fix layer source update code
We fix problems in the layer source update code related to
non-null field restrictions.

We add missing layer dependency update.

(Bitbake rev: e1169127405ce10a044ac9cdf4a892838a99d01f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN b27fc6f18f bitbake: toaster: we add static copies of AngularJS and related libraries
We add the Angular JS library, release 1.2.23
https://angularjs.org/

We add the Bootstrap directives for AngularUI, release 0.11.0
http://angular-ui.github.io/bootstrap/

The license ued for all libraries is MIT

(Bitbake rev: 8b4d33a6182486795cca53b2832967de583281e1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN f16f434bf2 bitbake: toastergui: update breadcrumb in analysis pages
If we are in managed mode, and we inspect a build that comes
from a project, we modify the breadcrumb as to display
the project from where the build originated.

[YOCTO #6776]

(Bitbake rev: fe568c9350a691c863f9f5bf8703d639c12a9961)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Belen Barros Pena 14e5b27324 bitbake: toastergui: Show failed tasks in the build dashboard
The build dashboard is supposed to show failed
tasks (if any) in the "Tasks" section.

(Bitbake rev: fc2a7be3982ea5441beef1b7e9e187caf5df2beb)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena 324b277336 bitbake: toastergui: Tiny change to help text
Modify the help text we show for the "Task covered by"
information to indicate that a task can be covered by
more than one task.

(Bitbake rev: cad45dfebaabe1875f786ba7ceeb3ee377e926b3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena 754f3e7e0a bitbake: toastergui: Remove extra <div> from build dashboard
For builds that generate no rootfs files, an extra <div>
was being added between the build status and the build
summary section. This commit removes the extra <div> and the
white space it created.

(Bitbake rev: e84db294f733464b4952a3c92120e5b19e8c2750)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena ceb113971a bitbake: toastergui: Remove sorting from "Size over total" column
The sorting in this column is tied to the sorting by
"Size". If we make both columns sortable, when you sort
by one of them it also sorts the other, and the table looks
as if you have sorted by 2 columns at the same time.

This was fixed in YOCTO #6061, but turned up again.

(Bitbake rev: acf372eb5a083451ab1507dd24e3a84380420c9a)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena 719f5e41b3 bitbake: toastergui: Fix blue highlight for failed tasks
Change the background colour of table rows with the .error
class from white to transparent, to make sure the blue
highlight animation works when you click on the order
number in the task details page.

(Bitbake rev: 25fd347b6a972164af9a0b5b56f803a296290246)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena 927943bd9e bitbake: toastergui: Fix reverse dependencies tab for packages included
Make sure the reverse dependencies tab for included packages
shows a notification when the number of reverse dependencies
is 0, instead of an empty table.

(Bitbake rev: 8dc3e582eb5f1d6e9a79de59a53014495a48e862)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros Pena 7aaedc2004 bitbake: toastergui: Add missing task descriptions
The "Prebuilt task could be based on" table we provide in the task
details page for prebuilt tasks is missing the task descriptions.
This patch adds them.

[YOCTO #6328]

(Bitbake rev: 64894d640ee70a301f6f399db118ed17c0ccde08)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros 93835e78c0 bitbake: toastergui: Amend show rows options
In the templates basetable_bottom.html and basetable_top.html
remove the '2' and '5' options from the 'show rows' menu, and
add the '150' option as per design specs.

Alex edited conflicts.

(Bitbake rev: 03f7ba3d8a101e05c106e5fb65eb379a6e4cb476)

Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros Pena daad086438 bitbake: toastergui: Fix help text in packages 'Reverse runtime dependencies' tab
For those packages renamed at packaging time, the help text
in the 'Reverse runtime dependencies' tab was missing the
original package name.

[YOCTO #6327]

(Bitbake rev: ca8fc7bd4ad940c8eeefa57619a6c8423f116fc7)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Alexandru DAMIAN 83edc576b2 bitbake: toasterbld: update checksettings command
We update the checksettings command to allow for upstream
git url detection at runtime by looking up a named remote
of a local repository.

Also various small fixes in check settings.

(Bitbake rev: c127ecb3b5b27b705b8714af063d910b944c8bbc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Alexandru DAMIAN 39ca8b429b bitbake: toastergui fix size rendering in dirinfo page
We fix the rendering of the size field in dirinfo-related pages
by directly calling filtered_filesizeformat and not rendering
it through the template engine.

Additionally, we enable error dumping into logs if an
Exception happens.

[YOCTO #6669]

(Bitbake rev: afa2431c21b8271b05dc4cca4265f98d9f338007)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29 14:11:59 +01:00
Marius Avram dfbb546492 bitbake: toaster: fix some code spacing issues
Code is related to the basetable templates files.
It had mixed tabs and spaces and was miss aligned in various places,
making it hard to read.

(Bitbake rev: cdaea8951df6b707afd1fefbf22295088256dd6f)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Marius Avram 69e5cbdac5 bitbake: toaster: use cookies for count and sorting in templates tables
Until now cookies were used to save which columns were shown and which
were hidden in toaster tables. The tables from the templates also have
functionalities like sorting the entries on a certain column and
limiting the number of entries displayed on a page. The later however
were not saved using cookies. This patch brings this new feature.

The cookies are not saved only in the front-end. They are saved both
in the frontend in case the user uses the inputs/buttons to change
a parameter and also in the backend in case the user specifies manually
using GET variables the value of the parameters.

When no GET parameters are given the views will redirect the url to one
containg the parameters saved as cookies. When no cookies exist, default
values will be used.

[YOCTO #6126]

(Bitbake rev: 880b58c845e3a501fa90d24e1bd89c87ca84b709)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Alexandru DAMIAN a6f1e31721 bitbake: toaster: do not save objects in session
In order to avoid problems when using JSON serializer for
saving sessions, we move from storing the objects themselves
in the session to storing the object id and reloading the
object when retrieved.

This allows, for example, to use cookie-storage sessions if the
infrastructure owner so desires.

(Bitbake rev: 39d0f0c2e87d4b161f1eeaa2657e61b5a6bc9ee2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Alexandru DAMIAN 32a27931db bitbake: toaster: enable SSH-based remote build support
We enable support for starting builds on remote machines
through SSH. The support is limited to poky-based distributions.

We refactor localhost build support and we update
bldcontrol application tests to uniformely test the APIs
of localhost and SSH build controllers.

[YOCTO #6240]

(Bitbake rev: c2ad9c9bb83f61c171434324df8c4d5ee655a556)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Alexandru DAMIAN a287a6d9c1 bitbake: toaster: rename bldviewer projecttags custom tagset
We rename the projecttags in bldviewer.templatetags to
simple_projecttags in order to avoid conflict with the
similarly named tagset in toastergui.

The conflict leads to an intermittent bug where proper
tags are not read correctly since Django uses only the
module name as global tag library identificator.

(Bitbake rev: a37f2c194d7e59611177cb8755524b7ad702fe91)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:24 +01:00
Alexandru DAMIAN 372c9d144e bitbake: toastergui: added pages for project details
We add new pages for the layer importing, layer details,
showing project builds and project configuration.

The pages are  in read-only mode, but they're needed as
to be able to verify the quality of data in the system.

Write capabilities will be added in a subsequent patch.

[YOCTO #6595]
[YOCTO #6590]
[YOCTO #6591]
[YOCTO #6588]
[YOCTO #6589]

(Bitbake rev: eed9ae5c2a2bd7567e12ae9a4f02a5a966a1e1a3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 08:51:33 +01:00
Alexandru DAMIAN acd4a1799d bitbake: toaster: add project pages for machines, targets, layers
We add new pages for the all-machines and all-targets
project-related views.

We update the existing template structure to create
a base project view, similar to a base build view, that includes
a breadcrumb.

Updating existing all layers view to use the new structure.

We update methods in the models to provide corrent
information display.

[YOCTO #6592]
[YOCTO #6593]

(Bitbake rev: 973f582a19441c1ec67061160e4c50ce03ed7b68)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 08:51:32 +01:00
Alexandru DAMIAN fe2e53ba30 bitbake: toaster: create Build methods for calculating progress and ETA
We move the code to calculate build progress as percent
and the ETA of the build to the model, so that they can be
reused across different pages.

(Bitbake rev: c2ced09e7ea4a1762d2788bb12a761734d20fd8e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN 25a715a119 bitbake: toatergui: update pages to match project models
We update pages and queries to match the new project
models.

(Bitbake rev: 8f47ec259106da714260c7388cee75a6c1f4622d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN ee250eb7e4 bitbake: toaster: update the bldcontrol to the new orm models
We update the build controller application to make proper
use of the bitbake specification in project settings.

Added heuristic to detect when the meta* layers and bitbake
are checked out from Yocto Project poky, and use a single
git checkout.

Building without a proper oe-init-build-env is not yet supported.

(Bitbake rev: 9eafe14956013f5af39b68fc93e1b03e7ea1f5c2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN 95df54238b bitbake: toaster: update checksettings command for auto-detection
We enhance the checksettings command to try to automatically
detect settings for running on localhost.

The checksettings will look for a nearby poky layer source,
for a nearby build directory, and will try to import settings
from "toasterconf.json" files found in the local layer.

On new configuration, it will also perform updates from the
layer source.

(Bitbake rev: 2aab77dfccb538e2b09829841ea6c464d40cafb1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN 565f69205f bitbake: toaster: add all layers page
We add a page where the user can browse
and import layers from all the layers known
by Toaster.

[YOCTO #6590]

(Bitbake rev: 59f4a9750a6c4f5360a91e3a4d1c03ceb42da086)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 3a4356dbfe bitbake: toaster: create project section navigation structure
We create the navigation structure for the project section.
This includes adding URLs for configuration, builds, all layers,
layer details and all targets pages.

Changes to existing pages to exemplify navigation links.

(Bitbake rev: 6f0cb9d106129eb496a4c009d95b0727378e97c1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 54530006b7 bitbake: toaster: enable admin interface on select models
We enable the admin interface in Toaster.

We add admin models for Build Environments (where the
sysadmin can configure where the builds take place)
and for Layer Sources (marking the upstream provider
for layer information).

The admin interface and associated data are enabled
only for the MANAGED version.

(Bitbake rev: 6618613c9210fb44d36d90f5f2404b435f10dfc8)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 234226b905 bitbake: toaster: update orm models for layerindex compatibility
We add a ToasterSettings table that will keep
installation-wide settings.

We update the models for the layer-related data storage to
make them compatible with the layerindex application API.

We add a LayerSource class that can update local data from
a LayerIndex-like compatible API.

Adding a command line option to perform information update
from all upstream layer sources.

Fair warning - there is no backward migration from 0013.

(Bitbake rev: 89e13579e1b44b738f10fadec8454aa0e6f073af)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 10019a652f bitbake: toaster: fix application discovery in settings.py
We fix application discovery, tuples don't have .append().

Other minor fixes.

(Bitbake rev: a6f18aac3e6bb448d89a3425a2f756c6514ee595)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 1b9175af3f bitbake: toaster: properly set layers when running a build
This patch enables the localhost build controller to
properly set the layers before the build runs.

It creates the checkout directories under BuildEnvironment
sourcedir directory, and runs the build in the buildir
directory.

Build launch errors are tracked in the newly added BRError table.
These are different from build errors, in the sense that the
build can't start due to these errors.

(Bitbake rev: 1868d5635b517e0fe1b874674ea7a78910b26e2e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:58 +01:00
Alexandru DAMIAN 6e71c276b5 bitbake: toaster: add project main edit page
This is the first commit on the project main edit page.

At this point we have:
* the default settings for a newly created project
* the ability to add targets
* the ability to trigger a build command, and have
the build executed

Project layers now have an optional field, allowing for
removal. Default meta, meta-yocto and meta-yocto-bsp
layers cannot be optional.

We add XHR calls for interactivity in the main page.

(Bitbake rev: 4e438854120cbd10319df1b571ec93e334002325)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:58 +01:00
Alexandru DAMIAN 8a3789a7b1 bitbake: toaster: move bldcontrol initial_data fixture to code
We move the initial_data fixture to a code migration,
in order to make sure that we don't overwrite modified data.

The data is inserted only if no data is present, instead
of always overwriting the entry.

The check settings returns 0 if the check was ok.

(Bitbake rev: 525c316ac95c06c52fbcfc836ca5599ee9dbfe8b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:58 +01:00
Alexandru DAMIAN 5aba3d7fcc bitbake: toaster: improved Project models
A layer may live in a subdirectory of a git repository,
so we add a field to track this setting in the Project layers.

We add the Project schedule_build function, which creates
a build request from the current project configuration.

We also fix an import problem with Projects in views.

(Bitbake rev: 1b5835e5d48cbfb7d38e38437c45d161052dfb37)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:57 +01:00
Alexandru DAMIAN 6cfb76fa8b bitbake: toaster: add fields for sourcedir and builddir paths
We add explicit absolute paths for a directory where
the layer sources will be checked out (sourcedir) and
where the build activities will take place.

Adding minimal checking when starting the application in
order to make sure that BuildEnvironment (BE) settings are
usable. This check is ran by the toaster script at startup.

Modify the localhost bbcontroller to use the BE settings
instead of trying to self-configure on checked out sources.

(Bitbake rev: d17500d3f73fdeeef5f11fb3773a65e927be3f02)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:57 +01:00
Alexandru DAMIAN e7fa0c325d bitbake: toaster: new project page implementation
We add the logic to create a new project. This page
also serves as user registration and silent login
for users.

Once the project is added, the main project page is displayed.

(Bitbake rev: 8855daebe55917c4f5855413d02ae1f3f7f76571)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:03 +01:00
Alexandru DAMIAN d19b784c1a bitbake: toaster: whitespace fix
This patch is just a whitespace (end-of-line) fix.

(Bitbake rev: 5f33d1a240faa49bd8259a48eb15ef57a6b4ce55)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:03 +01:00
Alexandru DAMIAN 9cfa66bd13 bitbake: toaster: add automated login in new project page
Toaster uses the Django authentication system to assign
user accounts to the projects that are being created.

In the current implementation, the user accounts are
created/authenticated automatically, on the fly, based
on the fields specified in the create new project page.

(Bitbake rev: a9062d9692525e24e59b5b2bb4dfdef90b41bf2a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:03 +01:00
Alexandru DAMIAN cff19351a8 bitbake: toaster: add project pages
We add the new project and project page skeletons.

In the process, we add an identifier in the settings.py
to detect whenever Toaster is running in managed mode,
and a context processor to make this value available
to the template processor.

(Bitbake rev: 927a27c68e24cfe13f62ca5f0e60878b04fa4e24)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:03 +01:00
Alexandru DAMIAN c35b678053 bitbake: toaster: automatically enable applications
We automatically enable local applications in INSTALLED_APPS
based on detecting a models.py or views.py file.
This allows Toaster extensibility by adding applications,
without having to edit configuration files.

(Bitbake rev: 05b246095d161143ca2ebc126d9e70d198ab8bb8)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:02 +01:00
Alexandru DAMIAN 5790b60d00 bitbake: toaster: automatically discover urls.py files
Added code to automatically discover and add url dispatchers
to the urlpattern list. This allows extension of Toaster
through adding applications that will be automatically
registered with the URL dispatcher.

(Bitbake rev: 4000d8224206f404d174a5bc4aa49af55cb44d27)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:02 +01:00
Alexandru DAMIAN 1712c715f3 bitbake: toaster: remove strftime calls in filters
We remove the unneeded strftime calls in filters, as the
filters can deal directly with datetime types.

[YOCTO #6379]

(Bitbake rev: 149693a342fe3a56027943d3ecb8bf2e1d0d652b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:02 +01:00
Robert Yang edf8cb1713 bitbake: toaster: fix no newline at end of file
Add a '\n' to the last line of the file to fix:

No newline at end of file

(Bitbake rev: 5eb65d92c35264087e5d82c35638f3b8805b1b3e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-04 09:28:36 +01:00
Belen Barros 7c1a975a1c bitbake: toaster: Fix spacing and layout in no image files notification
Close the definition list before adding the notification, and
restrict the notification width to avoid uncomfortable line
lenghts.

(Bitbake rev: b82f724c271c43218dc28440219adcea968e2a26)

Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-20 14:03:58 +01:00
Farrell Wymore fee3a88695 bitbake: toaster: display message if no images are generated
Display message if no images are generated for a target. This
commit was amended to have more conditions for displaying the
message.

[YOCTO #6094]

(Bitbake rev: ac1911eb857f4759ed085c8a4fc4b47cefafcd7a)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-20 14:03:58 +01:00
Ionut Chisanovici 457091dc56 bitbake: toaster: Add performance testing script
This is implemented as a django management command.
For the moment the 'manage.py perf' command will track the toaster
'gui' urls http response code and load time.

To use it:
1. do your toaster builds
2. ensure toaster is started
1. cd bitbake/lib/toaster
2. ln -s ../../../build/toaster.sqlite
3. ./manage.py perf

(Bitbake rev: 4a1fc6851d21500150715f0e8fa03c0b228ec5f2)

Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-20 14:03:58 +01:00
Farrell Wymore 7ccbea9ea5 bitbake: toaster: refactor the target page
the target (packages) page had to refactored to
allow the displays to differ depending on the caller
namely the license manifest link. Amended to make the
link from the tag rather than the pathname itself.

[YOCTO #6291]
[YOCTO #6079]

(Bitbake rev: b21a2af9411da17d49521820fa512292e89c856e)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-20 14:03:58 +01:00
Alexandru DAMIAN e163522205 bitbake: toaster: build control functionality
We add the build control functionality to toaster.

* The bldcontrol application gains bbcontroller classes
that know how to manage a localhost build environment.

* The toaster UI now detects it is running under build
environment controller, and update the build controller
database and will shut down the bitbake server once
the build is complete.

* The toaster script can now run in standalone mode,
launching the build controller and the web interface instead
of just monitoring the build, as in the interactive mode.

* A fixture with the default build controller entry for
localhost is provided.

[YOCTO #5490]
[YOCTO #5491]
[YOCTO #5492]
[YOCTO #5493]
[YOCTO #5494]
[YOCTO #5537]

(Bitbake rev: 10988bd77c8c7cefad3b88744bc5d8a7e3c1f4cf)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:34 +01:00
Alexandru DAMIAN 87b99274e9 bitbake: toastergui: fix built ETA calculation
We fix the calculation showing the estimated time
to build completion.

(Bitbake rev: dc1daae51ef5201475b5c1a69d966ae57b66dcb6)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:34 +01:00
Alexandru DAMIAN c7ae6bd307 bitbake: toaster: add function to get the database url
We add a function that returns the DATABASE_URL
for the current 'default' database settings. This
is useful to be able to start other toaster instances
with the same database settigns as the currently running
instance.

(Bitbake rev: 272a4bba0804bb6b5e0d498d3453321b5ed1dc76)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:33 +01:00
Alexandru DAMIAN 3bd8e9adc8 bitbake: toaster: create models for bldcontrol and enable it
We create the model classes that store information
about triggering builds, and the available build
environments.

We add a fixture with a default build environment
for build control, using a "build/" directory under
the poky checkout directory.

We enable the bldcontrol in toaster starting script
and in the toaster settings as to allow the actual database
to be kept in sync with the source code.

(Bitbake rev: d4bfe9059f765f11244b97e324c0131f32f8e400)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:33 +01:00
Alexandru DAMIAN e09cb4017a bitbake: toaster: initial bldcontrol application
The build features of Toaster will be contained into
a separate application, as to modularize the Toaster
project and provide multiple options for deployment.

This patch adds the application as a barebone Django
application in the Toaster project.

(Bitbake rev: 08556b79b7b2af08aaeedf8733b1b8996f387c4e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:33 +01:00
Alexandru DAMIAN b5a928af72 bitbake: toaster: add Project class models to orm
This patch adds the Project class models to the
toaster GUI data model. There is no specified use,
and the link in the Build class is optional.

(Bitbake rev: 38f77a43d16e202d1f40632b27cb70dd20d02a5e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-11 10:35:47 +01:00
Alexandru DAMIAN 07cd9a3b34 bitbake: toaster: add project related models
We introduce the notion of a project in Toaster as the item
that holds the specification for triggering a build: the set
of layers used, the set of configuration variable values, and
the set of targets to be build.

Builds triggered through Toaster will be associated with a
Project, and they will be configured based on the project
settings at the moment when the build is ordered.

(Bitbake rev: 0bf0251ae05442ae260c6099b389bf765c4fef26)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:55 +01:00
Alexandru DAMIAN 89fe052949 bitbake: toaster: read database settings from the environment
We add the capability to read the database settings for
Toaster from the environment. The DATABASE_URL is intepreted
and used to override the default settings.

This capability is essential for easy deployment of Toaster
in a managed hosted environment, and for creating
build environments with custom database settings.

(Bitbake rev: d16d19dafb83448fc214fce4fbdc2bcbf4bf9ce3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:54 +01:00
David Reyna bf9ff3de5f bitbake: toaster: reduce redundant foreign key lookups
Replace redundant foreign key lookups with "with" to improve all
recipes page load time. Do depends pre-lookup in the view class,
and use python itertation instead of filter() all to achieve x16
processing speedup.

[YOCTO #6137]

(Bitbake rev: a68a6dc50c11cc59e7c873414e3e22ac2644dea7)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>

Conflicts:
	bitbake/lib/toaster/toastergui/views.py
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-21 16:47:01 +01:00
Farrell Wymore defe227135 bitbake: toaster: sort columns properly after edit columns
If a sorted column is made invisible through the edit columns function,
resort the table the its default order.

[YOCTO 5919]

(Bitbake rev: 64618f7489eb9eb13a97d03cd2d353384f5faa70)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-21 16:47:01 +01:00
Alexandru DAMIAN 646b089c38 bitbake: toaster: modify SQL data type constraints
This patch modifies the data type constraints for the SQL
fields.

The original constraints have been based on guess worked, and
they weren't strictly enforced for sqlite. On MySQL, the
constraints are strictly enforced, and need to match the real
data that we have.

After measuring data on sample builds, the new constraints
have been validated to work with MySQL, and this patch updates
the database schema with the new field types / constraints.

(Bitbake rev: aaefbc0b4e7484d6f4854ce49602821a6e4adc4b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
Alexandru DAMIAN 09a1ff9743 bitbake: toaster: fix migration code for MySQL
This is a patch that fixes the 0004, 0005 migrations of the toaster
model to get them to properly work with MySQL.

These migrations had a conflict around Build.timespent field.
The sqlite3 constraits were not enough to detect the conflict, and
the migrations worked as expected.

MySQL objected to adding the field twice, so I did regenerate
the migrations with the correct model listing. The net effect
is the same, so the migrations work the same, but now we
can use these two migration on the MySQL and other more advanced
SQL engines.

(Bitbake rev: 29afc29154b948d270ce52978a1eed4cd8887f92)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
Dave Lerner 1a10bd3036 bitbake: toaster: fix span2 headings for packages
[YOCTO 6147]

Fix bug in views.py that put 'span2' class id in a 'clclass' key
instead of the 'dclass' key.  This fix exposed another problem in
target.html and the target view function that used 'package_size'
instead of 'size' as the 'clclass' which is inconsistent with the
model field name, causing table data columns to be shown when
the header is hidden.

(Bitbake rev: 436865ac8520c1d75401dde7df373dba9a386c9d)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
Belen Barros Pena 1278267807 bitbake: toaster: Make sure layer branch only shows when not empty
In the recipe details and package details pages, the layer branch
definition list elements should only show when the branch field in
the database is populated. If the branch field is empty, we don't
show them.

The patch also removes all unnecessary data-toggle and
data-original-title attributes.

[YP #6152]

(Bitbake rev: 72adcadb931519f803dad7488544767241561fb7)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
David Reyna 961f6226fa bitbake: toaster: sort outcome and sstate columns by string value
Sort the 'outcome' and 'sstate_result' columns by their
description string values and not their numerical values.

[YOCTO #5921]

(Bitbake rev: eee0abe70e4d85a0753f0b122518d7a9f06181bc)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
Belen Barros Pena 5cbf2318b1 bitbake: bitbake: toaster: Fix Empty tasks filter
Somehow the counter was set to count tasks with outcome
'not available', instead of outcome 'empty'. This patch
fixes the problem.

[YOCTO #6146]

(Bitbake rev: 1cc2a299c842185ba14074817d5cd2925275610b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Belen Barros Pena 5345985b47 bitbake: bitbake: toaster: Fix total number of tasks in build dashboard
The total number of tasks in the build dashboard was counting
_setscene tasks, which are not exposed by Toaster as separate
tasks. This patch makes sure that _setscene tasks are not
counted when calculating that number.

[YOCTO #6145]

(Bitbake rev: f8817c060042147a173d3451121304b25ffc4b6c)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Alexandru DAMIAN 046a9ea303 bitbake: toaster: Allow toaster to start without pytz
This patch allows toaster to start without pytz.

Django can work with or without pytz, but in the
time zone fix I mistakenly added a hard dependency
on this module.

This patch eliminates the hard dependency.

(Bitbake rev: 40027a6e093c3b7480bfaccbd57e0e613d9a7b71)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 18:21:42 +01:00
David Reyna efa4a98fe4 bitbake: toaster: add URI search path list
Display the URI paths from SSTATE_DIR and SSTATE_MIRRORS
in the Task page.

[YOCTO #5996]

(Bitbake rev: 6d07b531736c2b304da2dfe661239fd3612b0541)

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-04-09 17:00:02 +01:00
Dave Lerner d3e5632efb bitbake: toaster: sort on size in detail pages
[YOCTO 5778]

Implements the features described in the attachment to bugzilla 5778
   - new global changes to the format of size data, and
   - adding sorts by selected columns to specific detail pages.

Although new pagination and row search capabilities are shown on the
screen shots for the 5778 attachment, those features are specified in
a different bugzilla entry 5777 and are not implemented in this commit.

Also, the 5778 spec includes table sorting for the recipe package
detail page, but sorting for that page was not implemented in this
commit due to complications with sorting then returning to a page that
is only one URL fragment in a template.

The scope of file changes are described below.
Changes to support new 'size' field column formats...
    default.css - added sizecol class style (right justified)
    projecttags.py - changed filtered_filesizeformat to allow
        ".0" suffixes

Changes that add class 'sizecol, span2(as spec'd) ' to <th> and/or
<td> size columns were made to...
    dirinfo.py,
    package_built_dependencies.html,
    package_included_dependencies.html,
    recipe.html,
    bpackage.html, and
    target.html

More significant changes to support detail page table sorting
are:
    - tablesort.html: New created to implement the sort icons,
        directions, and table headings, and
        suppress sort handling if 'disable_sort' in context,
        without search or pagination elements ingrained
        in basetable_top. Confining the changes to this small file
        reduces the impact (testing and risk) on the larger set of
        files that arleady include basetable_top/bottom files.
    - view.py: Modified the following view functions with
        - trivial changes for size formatting to the views: target,
        - changes to package_built_detail, package_included_detail,
            package_included_reverse_dependencies to handle the sorting
            implementation as well as moving headings and size
            formatting for size columns from templates to the views.
    - Implementation of the detail sorting using above in:
            package_built_detail.html,
            package_included_detail.html, and
            package_included_reverse_dependencies.html
        to include the tablesort heading setup, format the size column,
        and iterate over the new sorted objects, suppressing sorts if
        table row count less than 2.

(Bitbake rev: d16126e9abfffde66ab70865a81997322847d44e)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:02 +01:00
David Reyna dc7d3d2910 bitbake: toaster: hide tasks without order or outcome
Hide the incomplete tasks, those without order numbers and/or outcomes.

[YOCTO #6060]

(Bitbake rev: bdbba81715765681a0404fa82f28e471b241051a)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:01 +01:00
David Reyna 74e2f85019 bitbake: toaster: regex alternation filter caused django error
The combination of a regex filter specification that uses alternate,
plus a search string, plus multiple search_allowed_fields, leads to
a Django fatal error. Replace this regex filter for variables in
local files with a simpler 'contains' against the project's directory
plus a '/conf/' string.

Alex rebased this on top of fix for #6048.

[YOCTO #5962]

(Bitbake rev: fd57128dc3a35ca87031f3df1a531a085e89baf0)

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-04-09 17:00:01 +01:00
Alexandru DAMIAN f88a343773 bitbake: toaster: fix filtering query for multiple filters
This is a fix for using multiple expressions in filters.
Three different issues are touched:
* added an explicit error message for incorrect filter usage
* changed the value separator to something that will pass
through from the browser to the actual code
* changed the "and" operator for combining Q from a dubios
lambda function to the standard operator.and_

(Bitbake rev: 845b081fc108c656f04d4a70afa4695defc13c9f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:01 +01:00
Alexandru DAMIAN b14482ef61 bitbake: toaster: keep number of rows across searches
This patch will make Toaster remember the selected
number of rows to be displayed in tables across different
searches.

The number of rows setting will not be remembered if the
the user leaves the page and subsequently returns to it.

(Bitbake rev: a84f296591be26972b808e98816e9d92cadf3eb5)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:01 +01:00
David Reyna 5a293287af bitbake: toaster: show unique set-in files in configvar
When listing the set-in files in the configure varaible table, only show
each file once in that summary view.

[YOCTO #6048]

(Bitbake rev: e69a57fc3302ed8fac21631ba95ea66e93b243e5)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:00 +01:00
Dave Lerner 4b17947f24 bitbake: toaster: disable 'size over total' sort
[YOCTO 6061]

Disable size-over-total table column sorts in the image installed
packages view because that field is a computed field and only model
fields are sortable in the current table toaster implementation.

(Bitbake rev: ba6937c9bffcf81f71ef6fa9f0d29fbbd6e17b2d)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:00 +01:00
Alexandru DAMIAN 1d631fba8a bitbake: toaster: do not load all available timezones
This patch makes sure that we only load pytz-recognized
timezones. Pytz is used to transform the timezone information
for the database queries, and needs to be able to deal with
the TIME_ZONE value that we set up.

[YOCTO #6093]

(Bitbake rev: bfe67472e3ee778b78ef004b2153fa88b3807b92)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:00 +01:00
Farrell Wymore 396e2153a9 bitbake: toaster: added covered task list
if a task has a 'covered' indication, the list of tasks that
covered the task are computed and displayed. amended to add tooltip.

[YOCTO #5925]

(Bitbake rev: bb05ee13f53f10988579b6238802327732041d0c)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Farrell Wymore 1029726121 bitbake: toaster: correct package count
The package count was incorrect because it was counting anonymous
packages. the full path of the image files was shortened to just
the filename.

[YOCTO 6087]
[YOCTO 6091]

(Bitbake rev: 06b190b2c23799bd2c9749be28e11bf5d59ed4fc)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Belen Barros Pena 9db433246f bitbake: toaster: Fixes to the build dashboard
* Add "on" before the date in the build status

* Get rid of the extra space before the "and" in the
build status

* Make the errors and warnings links in the build
status show the message content

* Make sure that the "Images" section in the left navigation
appears only for successful builds

* Link the number of packages installed to the "Packages
included" tab in the image information page

* Remove unnecessary inline styles in the dashboard
template

* Make sure target names in the h1 are listed in
alphabetical order

(Bitbake rev: 644a38e9a90728af52ebda9846d2037dd6831b41)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Belen Barros Pena 37e2670951 bitbake: toaster: Make tables happy in Chrome
There is a known layout issue with Bootstrap tables in
Chrome. This change applies a css fix for it, and changes
the span classes in the variables table to improve
formatting.

(Bitbake rev: a7fee015b1cc34351d5ad8b854fc6bf368416400)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Belen Barros Pena 7322dddeed bitbake: toaster: Fix the empty packages alert
* Remove a tag in all capitals
* Remove an unnecessary div
* Fix a typo

(Bitbake rev: 1ca139ca157d62cee9c48b22063e77614fa34325)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Belen Barros Pena 9e81244b8a bitbake: toaster: Fix "Recent builds" links
* Link the number of errors to the #errors section in the
build dashboard

* Link the number of warnigns to the #warnings section in
the build dashboard

* Link the build time to the build time page

* Move some javascript that applies only to builddashboard.html
to that template from main.js

(Bitbake rev: 94c61d0d9ff24e0c781ea0a8e4bfea4c4ac94d4e)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
David Reyna 4707c7c3ee bitbake: toaster: catch IndexError error in dictionary lookups
In the get_dict_value filter, there is the edge case where halted
builds can lead to IndexError errors in dictionary lookups, so we
need to catch those.

[YOCTO #6067]

(Bitbake rev: f6fcce974ce3b145bc472cd4e9721d56191828a4)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Belen Barros Pena 52ed413c3c bitbake: toaster: Changes to help text
All help text strings have been reviewed by the
technical writer, and some of them by Paul Eggleton.
This patch implements their suggested changes.

(Bitbake rev: ce89530b178be2f3202d45523ef1340e00df05be)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Belen Barros Pena 6831b7ad16 bitbake: toaster: Remove html validation errors in tasks.html
Remove the duplicated class attribute and the name
attribute.

Also, make sure that the row blue highlight works
without the name attribute when you land on the
tasks table after clicking the order link in a
task details page.

The commit also fixes a typo in default.css.

[YOCTO #6033]

(Bitbake rev: 471234f1ab1dbcd736a892720e99a305363db5ff)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Belen Barros Pena 86aefcdd4d bitbake: toaster: Update API
Make sure the REST API includes the latest changes
to the database schema.

(Bitbake rev: fb3d1d189f010488a8726872b01313857697751b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
David Reyna 0d39bee035 bitbake: toaster: link task order to right tasks page
When linking from a task order number to the All Tasks
page, automatically display the correct page for that link
anchor.

[YOCTO #5933]

(Bitbake rev: e5b6681432b627eb73bfa766d3154162206f374e)

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-04-05 14:55:28 +01:00
Paul Eggleton 432505d563 bitbake: toaster: fix help texts not showing for most tasks
These were not being collected properly because we were explicitly
excluding variables defined as functions from being stored in the
database. We don't want these to be shown in the variables list, and in
any case it makes sense for these to be stored elsewhere, so create a
separate model to store these.

Fixes [YOCTO #6050].

(Bitbake rev: 0d76a5461ce4bd554ff70a465064969e53edf0a4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 11:53:52 +01:00
David Reyna 4638e52ed2 bitbake: toaster: secondary sort key as table's default order
Provide for a secondary sort key based on the table's default
ordering when doing sort on alternate columns.

[YOCTO #5920]

(Bitbake rev: 1a0defce1499fdc320bcb27b41e06bea2ca2aef2)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Dave Lerner 362b71a07c bitbake: toaster: unbuilt package dependency formats
[YOCTO 6057]

For a package shown on the package build dependency page, the dependent
packages may be unbuilt packages, as indicated with the dependent
package's size set to -1.  This fix changes the build template to use
the same formatting functions for unbuilt dependent packages as the
include package templates use for unbuilt dependent packages.

(Bitbake rev: b095ab30a827a50f66a06ac9170d33fae2670736)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena 69856969d7 bitbake: toaster: Update help text in format_vpackage_namehelp tag
The text now says that the package has not been built.

(Bitbake rev: 4b64f4452aa2da4dcc0491cefa6f1a07f7dd173f)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena 3e1560919a bitbake: toaster: Match search results form to no results form
In the search results form, add the btn class to the clear
search button and set its tabindex to -1 so that you don't
accidentally clear the search when you want to search
again.

(Bitbake rev: 1cd01dbf3cd59bac6b62fe91ba2bafa0c62fd7f1)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena 694da9cd09 bitbake: toaster: Increase animation duration
Increase the duration of the blue highlight animation
from 7 to 10 seconds.

(Bitbake rev: 0d48cec969a68f9b70e04be6d86b078df8f1ec5b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena c759892f12 bitbake: toaster: Fix the fade out animation
Apply the animation to any element with the class
.highlight

(Bitbake rev: b228739888cf8bac99da4aada3c040aac40f784d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena bb1e3de56d bitbake: toaster: Small tweaks to the packages included interface
* Capitalise correctly the label "Reverse runtime dependencies"

* Change dependency popover labels to match the rest of the
interface

* Make sure that dependency links go to the initial tab
of the installed package details pages

(Bitbake rev: 80df010c12f7ba19649a7bbda9d788217cabc57a)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Belen Barros Pena a1e6fb2fcf bitbake: toaster: Remove trailing spaces from 'name'
Remove all trailing spaces from 'name' because they show up
in the filter headings, which I find incredibly annoying.

(Bitbake rev: 263eae9d2d7acf62240320765c80f60f3553f620)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Belen Barros Pena 3719ecfc22 bitbake: toaster: Show "No builds found" in the builds table
Making sure the h1 of build.html shows "No builds found"
instead of "0 builds found" when a search returns no results.
This matches the builds table to all other Toaster tables.

(Bitbake rev: c8495c38b892d22a1f85286f34b0fdbc17febf78)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
David Reyna 7920219543 bitbake: toaster: disable configvar sorts for value and files
Disable the sort on files because it sorts on the file array's
first (and invisible) element. Disable the sort on values
because the raw ASCII sort looks wrong to the general user,
especially for values with leading spaces.

[YOCTO #6004]

(Bitbake rev: 800cbddd612c977960aa4dd93b24c22aac4bfae0)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Ravi Chintakunta 85eb8dbd6d bitbake: toaster: Display task description
Display task description as content of help bubble for a task.

[YOCTO #5748]

(Bitbake rev: 4ffc380d11cff4e1d32d2bf5fb6c7cda6f7e22e6)

Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Alexandru DAMIAN 8f791ce59d bitbake: toaster: fix timezone detection
This patch replaces faulty timezone detection with a version
that simply reads the TZ environment variable if it is set.

If the TZ is not set, we do a reverse match search among known
timezone definitions and take the first match.

    [YOCTO #5499]

(Bitbake rev: 3a0a556a65368f02635606e4eb707ca08e25007a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
David Reyna 95cd5688c6 bitbake: 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]

(Bitbake rev: b1f52a87e367b8dea9bd974bc5a886d84d839c45)

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-28 13:44:52 +00:00
Dave Lerner c59e929db4 bitbake: 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.

(Bitbake rev: 964d2d6efe9a2cfa7cd8760cda4453c3d69b2e27)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
David Reyna bae133add9 bitbake: 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]

(Bitbake rev: 842abf6759894690d5bc770f4ea2ac15b127e5e2)

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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
David Reyna 877dcd709e bitbake: 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]

(Bitbake rev: eaff7b50d7102c97b75df185b9ef917970319d59)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
Dave Lerner 14a84434a1 bitbake: 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

(Bitbake rev: c604e14df8cdb1f47535f093d7044955d4c2057d)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
Belen Barros Pena c07a294e30 bitbake: 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]

(Bitbake rev: 65bdd6cf8d0cc2af6cd424de735a5e3f2e54fa99)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
David Reyna 7643ba3ea1 bitbake: 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]

(Bitbake rev: d21b64bad8a6a5e23eab552868d555f6e004f4c7)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:51 +00:00
David Reyna 056fbc47c7 bitbake: 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]

(Bitbake rev: cb26c4df04170143babd6c9fd60600bfb31486ed)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:51 +00:00
David Reyna 405e190b31 bitbake: 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]

(Bitbake rev: 09b099903bdf51bfb277b9a8f922255cfe83ab96)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:51 +00:00
Dave Lerner 7fa51314bd bitbake: toaster: format packages with size = -1
Packages that have a size of -1 are virtual packages with limited
information.  Such packages should be suppressed from the package
list page for an image.  On dependency and reverse dependency lists of
package, such packages should appear in muted rows, without links,
and with help information.

The formatting rules are encapsulated into projecttags filters when
possible to minimize tests on size==-1 in the templates.

Testing the relevant pages with an HTML5 validator found a stray end
tag in package_detail_base which has been fixed in this commit.

[YOCTO #5966]

(Bitbake rev: 6cdd4067f766ef5680076c33a32b2dc5d622362c)

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-25 21:32:17 +00:00
Belen Barros Pena 64ba1fa805 bitbake: toaster: Small fixes in tasks UI
This commit:

* Fixes an issue with white space when showing the log
in Cached tasks (task details page)

* Formats the no results alert of the "Prebuilt task
could be based on" search in the task details page

* Brings in the task outcome help text to "Prebuilt
task could be based on" table in the task details page,
to the tasks table in the recipe details page, and to
the all tasks page

* Adds the task_color tag to the "Prebuilt task could
be based on" table in the task details page, so that
each task gets the required visual treatment based on
execution

* Makes sure performance information for not executed
tasks shows in the task details page when it exists
(empty tasks often report a short time, for example)

(Bitbake rev: ff46fd6d8db52eeabe8c938c347ce5ba8d328cc1)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +00:00
Belen Barros Pena bca174a63f bitbake: toaster: Fix help text typos
Fix a couple of typos in the help text of the builds
and recipes tables.

(Bitbake rev: fd7c7b064f14d15131322610e552483ce670614d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +00:00
Belen Barros Pena b7219721c4 bitbake: toaster: Remove commented-out code from views.py
This code in the All tasks view class needed to be removed.

[YOCTO #6010]

(Bitbake rev: f9bfbda3557272452b824a433cf391e983e4abfe)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +00:00
Belen Barros Pena 7d9f1e2ed9 bitbake: toaster: Change placeholder attribute in variables table
Set placeholder attribute for the search input field in
the variables table to "Search BitBake variables" as per
the design specification.

[YOCTO #5998]

(Bitbake rev: a18ae43e0ffa25df50ae6908270bb6b2304022a8)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +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
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
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