summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: toaster: Toaster GUI, generic search, filter and orderAlexandru DAMIAN2014-01-1011-281/+499
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements table searching, filtering and ordering, in a generic mode reusable for all tables. The search operates list of fields defined in the corresponding class for each model, search_allowed_fields. The search expression and filters are sent through GET requests using a QuerySet-like input. The inputs are filtered and validated before usage to prevent inadvertent or malicious use. Filters and table headers are defined in the views for each table, and rendered by generic code which is easily modified for various tables. The Build table and Configuration table are implemented using this framework as an example of how it should be used. [YOCTO #4249] [YOCTO #4254] [YOCTO #4255] [YOCTO #4256] [YOCTO #4257] [YOCTO #4259] [YOCTO #4260] (Bitbake rev: 2ca15117e4bbda38cda07511d0ff317273f91528) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Build dashboard implementationAlexandru DAMIAN2014-01-106-23/+125
| | | | | | | | | | | | | | | This patch adds the build dashboard page implementation, which is the landing page for the Toaster GUI. Also adds correct links from the main build page to the various parts of the dashboard. [YOCTO #4258] (Bitbake rev: bf7fbf5c0ee39564d813f82e194242f9d4f73c47) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Create the base page navigation structureAlexandru DAMIAN2014-01-1019-159/+571
| | | | | | | | | | | | | | | | | | | | | | | | Updating the general container pages to use the graphical design and features from the design phase. In the process of adapting the Simple UI to the designed interface, we create all the pages and the navigation structure for the Toaster GUI. Views for each page have been added, and the url mapping has been updated to reflect newly added pages. The table page has been refactored to be component-oriented instead of class-oriented in order to facilitate reusage. Changes are made in different layers of the template (base, basetable) in order to maximize code reuse among different pages in the build. (Bitbake rev: d31f039ae31b77023722c06e66542751536a1362) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update static media for Toaster GUIAlexandru DAMIAN2014-01-1021-0/+16275
| | | | | | | | | | | | | | | | | | | In the process of making the GUI more usable, we bring in the static assets used during the design phase into the application. Licenses used: Bootstrap 2.3.2 under Apache License 2.0 Font Awesome under SIL OFL 1.1 (GPL compatible) and MIT licence GLYPHICONS Halflings released with Bootstrap, CC BY 3.0 jQuery 2.0.3 under MIT licence prettify.js under Apache Licence 2.0 (Bitbake rev: 0b3d2000c0bcd2bb5a3af5d49a514a90f001a7d2) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: clone Simple UI as base for Toaster GUIAlexandru DAMIAN2014-01-1032-32/+744
| | | | | | | | | | | | | | | | | | This patch clones the Simple UI to provide the base code for the development of the Toaster GUI. The clone takes the place of the application that was reserved for Javascript MVC code. The templates used for Simple UI are renamed to start with an "simple_" to prevent name resolution conflict with the Toaster GUI templates. Minor changes are made to the settings.py and urls.py in the toaster main section to account for the newly enabled application. (Bitbake rev: e2fde84f16da017ba0d71aef6a1fa8e2b9255db4) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Add more information for tasks in Simple UIAlexandru DAMIAN2013-12-101-4/+8
| | | | | | | | | | | | | This patch adds more information about Tasks in the Simple UI: * all local file system information is not listed in a single column, showing the common relationship * adding the display for the location of the task source * we display the work directory for each task (Bitbake rev: b102af0b7ebd2f06d6352b834ea083e959c21b0f) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add pagination to the Simple UIAlexandru DAMIAN2013-12-1010-28/+69
| | | | | | | | | | | | In an effort to make the Simple UI more usable and reponsive, this patch adds pagination support for the pages with lots of entries: Builds, Configuration and Tasks. (Bitbake rev: d4f075c050ad9ecebe750420d49961a7f30d090b) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: migrate orm models to SouthAlexandru DAMIAN2013-12-103-0/+401
| | | | | | | | | | | | | | | | | | As Toaster advances, database schema alteration will force users to delete old versions and lose all data collected. In order to prevent this, and to allow database updates to happen without having to delete old data, we use South to handle migrations for the ORM application which stores the Toaster data. [YOCTO #5559] (Bitbake rev: 6936faed8d94f3a2ab4055049cd27d02d8229003) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update to Django 1.5Alexandru DAMIAN2013-12-109-17/+17
| | | | | | | | | | | | | | | | | | | | In order to remain up to date with the relevant technologies, Toaster is updated with this patch to Django 1.5. This also makes headways to allow usage of emerging Django-related technologies. Changes include the startup script Django version check, usage of TemplateView instead of deprecated simple function to do redirects, and update to the new form of the _url_ template tag. Support for Django 1.4.5 is now deprecated. [YOCTO #5558] (Bitbake rev: 2d37a1731a2b681bc976f3f391d65abb7745b6f9) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toasterui: do not link non-image targetsAlexandru DAMIAN2013-12-101-1/+1
| | | | | | | | | | | | | | | In the Simple UI, builds table, targets that are images have link to the list of installed packages. There is no point in having links enabled for the non-image targets, so we don't link in this case. [YOCTO #5366] (Bitbake rev: 5839e5b0af45d4c9e05145b16c4ed5817e152606) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: change package storage modelAlexandru DAMIAN2013-12-104-53/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up until this patch, package information lived in two places - one table for build packages and one table for target installed packaged. This situation leads to two problems: there is no direct link between a build package and a installed package, and a lot of data is duplicated. This change unifies all package types in a single table. The SimpleUI remains the same for continuity sake, but the REST API will be changed in a future patch. The package dependencies and package files are now kept in a single table. Since we collect target installed package information at all times, we need to expand it to supplement missing information if a package is not actually built in the current build. Small changes to the Simple UI reflect the updated database schema. [YOCTO #5565] [YOCTO #5269] (Bitbake rev: f5d655bfaeb349c8680d74530617e34aa389d1f0) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: move layer information reading codeAlexandru DAMIAN2013-12-101-0/+1
| | | | | | | | | | | | | | | In the processes of removing local system accesses from toaster UI, we remove the layer data reading code that was moved to toaster.bbclass, and adapt the database writing code to read the data from event sent by the toaster.bbclass [YOCTO #5604] (Bitbake rev: 33b60a940f58e8374a8c7baa9bf28a98f54cdf13) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: remove Author field in SimpleUIAlexandru DAMIAN2013-12-101-1/+0
| | | | | | | | | | | | Removes a left-over Author field in the Simple UI recipe page. [YOCTO #5449] (Bitbake rev: a9c24343f13d33d159dab0ac2fd8f50262408980) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Analysis API variablehistory updateAlexandru DAMIAN2013-12-101-0/+1
| | | | | | | | | | | | | | | This patch updates the Analysis REST API to expose the variablehistory information. A UI tool can query this API to get a picture on how a variable value got to its final form. The documentation for VariableHistory is updated on Wiki https://wiki.yoctoproject.org/wiki/Analysis_REST_API_Contracts (Bitbake rev: f304332da3a51b15e864a853989fe5fbaf5f6079) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker, toaster: variable definition trackingAlexandru DAMIAN2013-11-152-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to track the file where a configuration variable was defined, this patch bring these changes: * a new feature is defined in CookerFeatures, named BASEDATASTORE_TRACKING. When a UI requests BASEDATASTORE_TRACKING, the base variable definition are tracked when configuration is parsed. * getAllKeysWithFlags now includes variable history in the data dump * toaster_ui.py will record the operation, file path and line number where the variable was changes * toaster Simple UI will display the file path and line number for Configuration page There is a change in the models to accomodate the recording of variable change history. [YOCTO #5227] (Bitbake rev: 78e58fed82f2a71f052485de0052d7b9cca53ffd) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: remove author fieldAlexandru DAMIAN2013-11-152-2/+0
| | | | | | | | | | | | | | | | The AUTHOR field in most recipes is not defined, or it's not really consistently set in the metadata, Also does it seem particularly useful. This patch removes the AUTHOR variable from the toaster system [YOCTO #5449] (Bitbake rev: da3ac049300be84defab7b32b0b99ab07c7d0a27) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix tasks showing as NoExecAlexandru DAMIAN2013-11-151-4/+6
| | | | | | | | | | | | | | | | | | | Tasks without script type information showed by default as NoExec; this happens for all Prebuild or Covered tasks, as script type information comes only on TaskStarted event. Such a default value may drive confusion, as NoExec value should be reserved for the NoExec-flagged tasks. This patch adds a new default value named Unknown that will be used for all tasks that don't have script type information available. [YOCTO #5327] (Bitbake rev: ec6cac74290f0d4f5b60222019c23416b4b8e1ef) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: convert build_package size to bytes to keep consistenceCristiana Voicu2013-11-121-1/+1
| | | | | | | | [YOCTO #5503] (Bitbake rev: 19eb6e01b675c439ff0a817be6fa5e34ad42ba37) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix target package informationAlexandru DAMIAN2013-11-051-5/+5
| | | | | | | | | | | | | | | | | | | | | Toaster needs to record information about packages installed on a built target image, and dependencies between these packages. This patch fixes a bug where the variable from the server wasn't read correctly leading which caused the buildhistory to not be processed correctly. Additionally, two display issues in the package table were fixed, issues that lead to package information being displayed incorrectly. [YOCTO #5197] (Bitbake rev: ab4bc18409d80de6d069e3dd76c3c54964fe5764) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix timezone settingsAlexandru DAMIAN2013-11-041-2/+3
| | | | | | | | | | | | | | | | This patch fixes an issue where, if not defined, the timezone defaults to 'America/Chicago'. The solution is to set the timezone to current computer's timezone. [YOCTO #5186] (Bitbake rev: a4102b549f04a9b52cdcd318bf511a18ab48067d) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build, toaster: record proper task typeAlexandru DAMIAN2013-11-041-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bitbake tasks may be of type 'python' or 'shell', or they may not be executed at all, which is record as task type 'noexec'. In order to record proper task type, this patch: * creates no exec task type as the default value in the toaster model definition * adds full task flags to the bb.build.TaskStarted event in build.py * if the task actually starts, the toaster ui will record the type of the task as either 'python' or 'shell' based on the task flags. [YOCTO #5073] [YOCTO #5075] [YOCTO #5327] (Bitbake rev: 6648c57e6d369fc009ea3a9fe939def5d2c67bf5) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: adding frameworks for the Simple UIAlexandru DAMIAN2013-10-183-0/+6785
| | | | | | | | | | | | | | This commit adds the 3rd party frameworks used for the web UI. jQuery is licensed under MIT. Bootstrap is licensed under APACHE-2.0 (Bitbake rev: 8395e257fed030f0d9b24feba17ed99664f26b2b) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add toaster code to bitbakeAlexandru DAMIAN2013-10-1830-0/+1363
This patch adds the Toaster component to Bitbake. Toaster is a module designed to record the progress of a Bitbake build, and data about the resultant artifacts. It contains a web-based interface and a REST API allowing post-facto inspection of the build process and artifacts. Features present in this build: * toaster start script * relational data model * Django boilerplate code * the REST API * the Simple UI web interface This patch has all the development history squashed together. Code portions contributed by Calin Dragomir <calindragomir@gmail.com>. (Bitbake rev: d24334a5e83d09b3ab227af485971bb768bf5412) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>