summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: toaster-tests: package count/size shouldn't show for non-image buildsElliot Smith2016-07-191-7/+22
| | | | | | | | | | | | | | If a build doesn't produce any image files, the package count and size shouldn't be shown. Also add some metadata to build dashboard elements so it is clear what they're for, and so they can be queried by the tests. (Bitbake rev: 3d5090af4475b1d0bb56911a8e30abf9097c1b3c) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: add tests for build artifact display on build dashboardElliot Smith2016-07-192-7/+7
| | | | | | | | | | | | | | | | | | | | | | | Add tests for display of image, kernel and SDK artifacts on the build dashboard, checking that the "Images" option in the left-hand menu and the "Build artifacts" section display correctly for different types of build. Also add metadata to elements on the build dashboard so it's clearer what they represent, and to assist in finding them in the tests. Add a method to the test helper to make it more convenient to check whether a single element matching a selector exists. [YOCTO #8556] [YOCTO #8563] [YOCTO #9500] (Bitbake rev: 644a888ce5a2141f2e6e1c22430e196b65cb1313) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: the customise image button shouldn't rely on targetsElliot Smith2016-07-191-1/+1
| | | | | | | | | | | | | | | | | | The build dashboard customise image button (for creating a new custom image based on an image recipe used by a build) shouldn't rely on targets: whether a new custom image can be created or not depends on whether any of the recipes used by the build are image recipes. Modify the method used to determine whether a build has customisable images to look at the image recipes used during the build, rather than whether the targets run by the build refer to image recipes. (Bitbake rev: 6648876c91134bda8498b4f8d7ace9147ec0d985) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add package manifest path to Target objectsElliot Smith2016-07-192-0/+9
| | | | | | | | | | | | | | | | | | | Store the path to the *.rootfs.manifest file for targets which generate images. A link to the package manifest is displayed in the build dashboard for targets which produce image files. Like the license manifest path, if a target would have produced the package manifest (but didn't, because it already existed), that path is copied from the target which did produce the package manifest. (Bitbake rev: 79b8e349a0da2ea6b97ad82daa5837e6dfffe0af) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: better display of targets which produced no imagesElliot Smith2016-07-192-44/+36
| | | | | | | | | | | | | | | | | | | | | | | | | SDK targets (populate_sdk) produce SDK artifacts but no image files. Currently, these targets appear under the "Images" heading in the build dashboard, even though they aren't strictly image targets. Change the heading to "Build artifacts". Also remove the section which states that a build produced no image files: this is not correct for populate_sdk targets (those targets don't produce image files under any circumstances); and other changes mean that all targets which do produce images will now show those files. The check for whether to display the "Build artifacts" section also needs to change, as we show targets here which didn't produce any images but did produce SDK artifacts. [YOCTO #8556] (Bitbake rev: b4dce68045c4615e7a6a474e952f670721a3b54e) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: show manifests in their own section of the build dashboardElliot Smith2016-07-191-4/+7
| | | | | | | | | | | | | | In the build dashboard, add a section for manifests to each target, which will contain the license and package manifests for a target. As we don't record the package manifest (yet), just move the license manifest link to that section for now. (Bitbake rev: 58cb685b567a081834a605530957f165d35fcf5e) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: only show "New custom image" button for builds with image ↵Elliot Smith2016-07-191-20/+22
| | | | | | | | | | | | | | | | targets Add a has_image_targets() method to Build, and use that to hide the "New custom image" button on the build dashboard if a build has no targets which build images. [YOCTO #9514] (Bitbake rev: 3c4b053e44ea512ef2ced67289a7b0161db6ce9b) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use has_images() methods to display images correctlyElliot Smith2016-07-192-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | In the build dashboard, we had issues with showing images correctly, as we were using the is_image property of targets to determine whether a target would have image files. This property can be set to True if a target refers to an image recipe (e.g. "core-image-minimal"), even if the task used in the build didn't produce any image files. By adding has_images() methods to the Target and Build objects, which count associated Target_Image_File objects, we can correctly determine whether a target has image files associated with it, and if any of the targets for a build has image files. This means that we can screen out the left-hand "Images" menu options for builds which contained image-related targets (e.g. "core-image-minimal") but which didn't produce any images (e.g. "rootfs" task). [YOCTO #9500] [YOCTO #9784] (Bitbake rev: f6bba0ff254d5ed3163151d4b938f3a43c9acb0a) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: improve scan for SDK artifactsElliot Smith2016-07-192-30/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SDK artifacts were previously picked up by toaster.bbclass and notified to buildinfohelper (via toasterui). The artifacts were then added to the Build object, so that it wasn't clear which artifact went with which target; we were also unable to attach SDK artifacts to a Build if they had already been attached to a previous build. Now, toaster.bbclass just notifies the TOOLCHAIN_OUTPUTNAME when a populate_sdk* target completes. The scan is moved to buildinfohelper, where we search the SDK deploy directory for files matching TOOLCHAIN_OUTPUTNAME and attach them to targets (not builds). If an SDK file is not produced by a target, we now look for a similar, previously-run target which did produce artifacts. If there is one, we clone the SDK artifacts from that target onto the current one. This all means that we can show SDK artifacts by target, and should always get artifacts associated with a target, regardless of whether it really build them. This requires an additional model, TargetSDKFile, which tracks the size and path of SDK artifact files with respect to Target objects. [YOCTO #8556] (Bitbake rev: 5e650c611605507e1e0d1588cd5eb6535c2d34fc) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: attach kernel artifacts to targetsElliot Smith2016-07-192-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bzImage and modules files were previously attached to a build, rather than to the target which produced them. This meant it was not possible to determine which kernel artifact produced by a build came from which target; which in turn made it difficult to associate existing kernel artifact with targets when those targets didn't produce artifacts (e.g. if the same machine + target combination was built again and didn't produce a bzImage or modules file because those files already existed). By associating kernel artifacts with the target (via a new TargetArtifactFile model), we make it possible to find all the artifacts for a given machine + target combination. Then, in cases where a build is completed but its targets don't produce any artifacts, we can find a previous Target object with the same machine + target and copy its artifacts to the targets for a just-completed build. Note that this doesn't cover SDK artifacts yet, which are still retrieved in toaster.bbclass and show up as "Other artifacts", lumped together for the whole build rather than by target. [YOCTO #8556] (Bitbake rev: 9b151416e428c2565a27d89116439f9a8d578e3d) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: display Target targets in build dashboardElliot Smith2016-07-192-4/+23
| | | | | | | | | | | | | | | | | | The build dashboard was showing the targets for the build in the page heading and title as "Target object". Add a filter which extracts the "target" from each Target object as a string so that the heading and title display correctly. Also sort the image file suffixes alphabetically. [YOCTO #8556] (Bitbake rev: 33a24992139e7dc05d14bbe1da60299b732945aa) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add Layer delete front end feature to layerdetailsMichael Wood2016-07-084-2/+58
| | | | | | | | | | | | Add the front end feature to delete a layer from the layer details page. [YOCO #9184] (Bitbake rev: 91815229f60eb9deba7d299f05c69b52ff1df59c) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: api Add util function for returning the error responseMichael Wood2016-07-081-12/+16
| | | | | | | | | | Also clean up flake8 warnings in XhrBuildRequest (Bitbake rev: aa0845242eda8650a97180bf6675551c26554cde) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: layerdetails api Fix saving of git revision of a layerMichael Wood2016-07-084-46/+103
| | | | | | | | | | | | | | Update, clean up and move the api for updating a layerversion from the views to api. Also update the layerdetails page to include the layerversion id in the url getter. [YOCTO #8952] (Bitbake rev: 20f4e23bc86290f0a42881a7cac44c41eafa86fc) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix layout for command-line builds in recent builds areaElliot Smith2016-07-081-124/+123
| | | | | | | | | | | | | | | | | | | | | Command-line builds were displayed incorrectly, so that the HTML elements for other builds were being "consumed" by the command-line build elements due to incorrect positioning of element end tags. Fix by ensuring end tags close elements in the right places. As the indentation was all over the place in the most recent builds section template, it was almost impossible to see what the problem was. So that was fixed, too. [YOCTO #9842] (Bitbake rev: 01659389813ad61d4f75b9f8d71528581322f0b0) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: views Fix most frequently built target in project reportingMichael Wood2016-07-081-10/+32
| | | | | | | | | | | | | Clean up and fix the most frequently built targets for the "Most built recipes" section for the project configuration page. [YOCTO #9846] (Bitbake rev: 860475cfdd35301fb609ab3c89347566b0ca0adc) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: layerBtn avoid connecting handler to other build buttonsMichael Wood2016-07-081-2/+2
| | | | | | | | | | | | | | Some pages contain other build buttons which may have the same class attached. Make sure that we only select the buttons in the tables where layerBtn is used. [YOCTO #9841] (Bitbake rev: ec083fd943c6996307beb3be3421403870d2f2b7) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix validation checks for DL_DIR and SSTATE_DIRSujith H2016-07-081-22/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | Validation logic on the project configuration page prevented a user from adding ${variable} to these paths. Update validation so a user can see a better message when they type characters into the text inputs. Two types of validation are implemented. Either: * The value should start with a "/", to allow absolute paths. or * The value should start with a "$", to allow bitbake variables like ${TOPDIR}. [YOCTO #9646] (Bitbake rev: fca50153caef62a473d1812fd59ec7effe09f8c5) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: remove SSTATE_MIRRORS from projectconfSujith H2016-07-081-1/+0
| | | | | | | | | | | | | | Remove SSTATE_MIRRORS from getting blacklisted. Hence the SSTATE_MIRRORS should be removed from projectconf.html file so that users can know that this variable is no more blacklisted. [YOCTO #9598] (Bitbake rev: b060eecae417521d8340748e7ace7a77488bd596) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: remove SSTATE_MIRRORS from blacklists in viewsSujith H2016-07-081-3/+8
| | | | | | | | | | | | | | Remove SSTATE_MIRRORS variable from blacklists in views.py This helps user to point mirrors using SSTATE_MIRRORS with toaster. [#YOCTO 9598] (Bitbake rev: c3dd4fb193c80ed9a6dbddf7f6a1eadd0964ac8c) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: remove last css file with bootstrap v2 licensebavery2016-06-161-9/+0
| | | | | | | | | Remove unused css file that still had the bootstrap v2 license in it. (Bitbake rev: a8fe4177a6303aa57301c977c1daf7d4ff6ec586) Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix typo which causes table searches to failElliot Smith2016-06-161-1/+1
| | | | | | | | | | | | | | | | | The iterator used to create a search query refers to a variable "x" which isn't set, causing an "'x' is not defined" error and preventing table searches (on non-ToasterTables) from working. Use the "field" variable instead, which contains the name of the field to add to the query. [YOCTO #9749] (Bitbake rev: a3ebeb37f7bd4cffe6707c634b4f0a0ea52ccc45) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: js tests Twitter typeahead library object is now ttTypeaheadMichael Wood2016-06-151-4/+4
| | | | | | | | | | Get the ttTypeahead object on the input to see if it's been initialised correctly. (Bitbake rev: d382b2afb2939ae1b69a80ad083fb4c47303f8d0) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix wrong usage of print_exc and format_excEd Bartosh2016-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | First parameter of traceback.print_exc and traceback.format_exc APIs is a 'limit' - a number of stracktraces to print. Passing exception object to print_exc or format_exc is incorrect, but it works in Python 2 and causes printing only one line of traceback. In Python 3 comparison of integer and exception object throws exception: TypeError: unorderable types: int() < <Exception type>() As these APIs are usually used in except block of handling another exception this can cause hard to find and debug bugs. (Bitbake rev: c5a48931ac8db9e56f978c50861c19d0d0c808e3) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: toastergui tests Use new BeautifulSoup syntaxMichael Wood2016-06-151-1/+1
| | | | | | | | | | Fix deprecation warning specify the parser used for creating the BeautifulSoup object. (Bitbake rev: d34546e88881e89588206877ebaea506cda4f6c2) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: open image files in binary mode when sending in responseElliot Smith2016-06-151-1/+1
| | | | | | | | | | | | | | | | | | | The view code for downloading image files used the "r" flag to read the file, then used the open file object to form the HTTP response. While this worked in Python 2, Python 3 appears to be more strict about this sort of thing, and Django throws a UnicodeDecodeError when a file opened this way is used in a response. Open the file with the "b" flag (binary mode) so that Django can correctly convert the binary file handle to an HTTP response. (Bitbake rev: c4d67968d0ec1d5ff53cdc0dccf6a7869c89597b) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: fix tests for latest Selenium versionElliot Smith2016-06-151-8/+0
| | | | | | | | | | | | | | | | | | | Previously, we didn't specify a specific version of Selenium. When upgrading to Python 3 and installing Selenium to work with it, the JS unit test broke, as the report format produced by Selenium had changed. Modify the test so that it works with the latest Selenium report format. Add a note to the README that the given Selenium version should be used to prevent unexpected test failures. (Bitbake rev: 571c2b70d3c123614618672ce7532bb5f4c36630) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix broken reference to urllibElliot Smith2016-06-151-1/+1
| | | | | | | | | | | | | | | | The code previously imported urllib to make use of querystring quoting, but was modified to support Python 3. During this process, the reference to urllib was not fixed, which resulted in table filters breaking. Remove the reference to urllib (which is no longer imported) and instead reference the imported unquote_plus() function. (Bitbake rev: f66ee686d4e3002a4a38a7424bcc605a6df9db0b) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix test_toaster_tablesEd Bartosh2016-06-151-6/+0
| | | | | | | | | | Removed unneeded code as it causes the following error in Python 3: TypeError: expected bytes, bytearray or buffer compatible object (Bitbake rev: 1626e986820da626c19aa8c664155a2cb1db8fd9) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix incorrect file modeEd Bartosh2016-06-151-1/+1
| | | | | | | | | | | | | | Python 3 complains about 'wa' mode this way: ValueError: must have exactly one of create/read/write/append mode Fixed by using 'a' mode. [YOCTO #9584] (Bitbake rev: eb23a84e079125a08d0c8e910f7035ad9584c432) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: decode response contentEd Bartosh2016-06-151-19/+19
| | | | | | | | | | | | | Decoded response content to str to pass it to json.load as it breaks in Python 3 with this error: TypeError: expected bytes, bytearray or buffer compatible object [YOCTO #9584] (Bitbake rev: 3566ecc3ae682358d1fc58bdc0bed5cbed5e9608) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: BuildTasksTable filters remove outcome NA optionBelen Barros Pena2016-06-151-0/+2
| | | | | | | | | | | In the 'outcome' filter for tasks, remove the 'not applicable' option, since it should not be exposed to users. (Bitbake rev: 4e21817b0d7a91e634bdb2069850627c38fde053) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: BuiltPackagesTable format empty state in packages tableBelen Barros Pena2016-06-151-5/+5
| | | | | | | | | | | The explanatory message in the empty state of the packages built table was missing some spaces. (Bitbake rev: 70f600f86ec4d536004d968919e86d2afa58d585) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: build data Fix left navigationBelen Barros Pena2016-06-154-15/+22
| | | | | | | | | | Make sure the current page is always highlighted in the left navigation. (Bitbake rev: 3d7f5d6ae843bcc3b5af1a9414ab5cb2759d0853) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: port all build analysis pages to bootstrap 3Belen Barros Pena2016-06-1537-1136/+753
| | | | | | | | | | Port all the pages in the build analysis area to bootstrap version 3. (Bitbake rev: f963b73f0bf32db2df39dd79d8d85184c280cda0) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: buildtables Remove links from non name fieldsBelen Barros Pena2016-06-152-50/+42
| | | | | | | | | | | | | | | | Design change to have no links for non-named fields in BuiltPackagesTable. BuiltRecipesTables and BuildTasksTable. Additionally: - Fix class and elements for Bootstrap3 in help text. - Change title of InstalledPackages table to Packages Included. - Change which columns are default shown/hidden columns. (Bitbake rev: 7c377e161a90184a4786e33951d8c0e30688ba3b) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix typo which prevents filters from workingElliot Smith2016-06-151-1/+1
| | | | | | | | | | | | | 'k' was replaced by 'key' at some point but not fixed in the body of the loop. This caused a failure when the the query was constructed for a filtered queryset, due to the variable not being defined. (Bitbake rev: 37fb9a364e645baadda30cc74a18baa565f39857) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Rework displaying package dependencies across ToasterMichael Wood2016-06-156-25/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | After porting the build table to a unified mechanism for showing dependencies in tables it highlighted that the dependencies selected to be shown were un-filtered. i.e. all dependencies from all contexts were shown. The context for a package's dependencies is based on the target that they were installed onto, or if not installed then a "None" target. Depending on where the template for the dependencies are show we need to switch this target which is why a filter and utility function on the model is added. Additionally to use the same templates in the build analysis we also need to optionally add links to the build data for the packages being displayed as dependencies. Customising a Custom image recipes may or may not have a target depending on whether they have been built or not, if not we do a best effort at getting the dependencies by using the last known target on that package to get the dependency information. [YOCTO #9676] (Bitbake rev: 31e7c26cc31a7c8c78c1464fa01581683bfd2965) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: widgets ToasterTable Catch template rendering exceptionsMichael Wood2016-06-151-4/+16
| | | | | | | | | | | | If a cell template rendering causes an exception catch it and carry on, this at least allows the table to show the rest of the data if nothing else. Also improve the error logging so that it's possible what the offending template snippet was. (Bitbake rev: 566b4fbe9cfe4c6c0605c4f6444083ee4cf8b958) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tests Add new build tables to testsMichael Wood2016-06-152-37/+94
| | | | | | | | | | | | - Add new build tables to be tested - Add required data into the fixture and clean up a few empty fields - Fix the SoftwareRecipesTable specific test so as not to rely on two particular defined recipes (Bitbake rev: 7cf23671659666b27b5629fecd5f947f9bdb94e0) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: table.js Add the ability to highlight a particular rowMichael Wood2016-06-151-0/+9
| | | | | | | | | | As in the old build tables it's useful to jump and highlight a particular row in the table using the #hash in the URL. (Bitbake rev: 927bfc26ffcb0eb6c0a5b3c0905b7efc2f19b9a2) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: port Installed packages table to ToasterTableMichael Wood2016-06-155-288/+75
| | | | | | | (Bitbake rev: 2418c092abd9a503becf5e786125f8cdddd8652c) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: port Task tables to ToasterTables widgetMichael Wood2016-06-157-433/+248
| | | | | | | | | | Port the Task based tables to ToasterTable. This is the Task, Time, CPU usage and Disk I/O tables. (Bitbake rev: bebcef7a4bf08b10e472475435ddc7a524364adb) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: port Built recipes table to toastertablesMichael Wood2016-06-154-223/+135
| | | | | | | (Bitbake rev: 9434d3925bb7768876aae8d649ea00b8d849c6e9) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: port table for Built packages to ToasterTableMichael Wood2016-06-158-219/+203
| | | | | | | | | | This is the table that displays all the packages built in the build. Build -> Packages. Adds a template snippet for the git revision popover. (Bitbake rev: df62f38ff4e634544c9b1e97c5f6ca45e84a4f1e) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: ToasterTable widget add an 'a' to Name in Exception classMichael Wood2016-06-151-5/+6
| | | | | | | (Bitbake rev: 4c0e07b8379381cfe887a4c65d2f61af05914082) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: toaster tables Enable complex empty statesBelen Barros Pena2016-06-152-1/+10
| | | | | | | | | | | | Make sure we can create empty states for toaster tables that include actions for users to get out of the empty state. Allows a template to be used as an empty state. (Bitbake rev: 9f21a1781345a2d2757616a9ab6f34ec48e9e93d) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Migrate project configuration from bootstrap 2 to bootstrap 3Belen Barros Pena2016-06-1585-3094/+13203
| | | | | | | | | | | Convert all the HTML templates, JS and CSS in the project parts of toaster to use bootstrap 3. (Bitbake rev: 69527a731eada699d3f604ff8f3ae9410981ba9b) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: work-around our lack of a synchronous fetch for typeaheadsElliot Smith2016-06-153-8/+1552
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Twitter typeahead.js library expects the developer to use a source which does a local search for matching suggestions, then falls back to a remote search if that doesn't return enough results. However, in Toaster, we don't do any caching of the suggestions for a typeahead, so our source only works in asynchronous mode. Consequently, we see fewer than the expected number of suggestions if the typeahead has already shown suggestions matching a query. For example, searching for "meta-n" in the layers typeahead will show the results for this query; but when the query changes to "meta-ne", a new set of results is fetched, which mostly overlaps with the results for "meta-n". The typeahead assumes that the overlapping items are locally cached and have been delivered synchronously, and just appends the new results which don't overlap with the previous query. But because we don't provide any results synchronously, we just end up with the single non-overlapping result in the drop-down. This can be fixed by hacking typeahead.js so that instead of appending asynchronous results, we always overwrite and redraw the whole typeahead menu. This is a temporary fix, and should be properly fixed (when we have time), perhaps by using typeahead.js's associated Bloodhound library. Added a note about the hack to the license file as an explanation of why the unminified JS file is included in Toaster. (Bitbake rev: afbaf326e1123c92952fa71e0e820a4ff83488ca) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: migrate typeahead libraryElliot Smith2016-06-154-69/+83
| | | | | | | | | | | | | | Migrate from Bootstrap 2's built-in typeahead to Twitter's typeahead library. This is to facilitate moving to Bootstrap 3, which doesn't have a typeahead. (Bitbake rev: 0748177b40188a6fb735fe1ba1c17294afa4a3d0) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>