summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: toaster: Clean up template codeElliot Smith2015-10-162-16/+10
| | | | | | | | | | | | | | | | | Some errors in the HTML template didn't show up until they were rendering command line builds. One useless conditional was lingering in another template. Clean up these issues to display the latest builds section correctly. (Bitbake rev: c781d6be94a25f942946d3a406e07791385e4596) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: More linting of testsElliot Smith2015-10-161-21/+14
| | | | | | | | | | | Fix some more lint errors on the tests for toastergui. (Bitbake rev: a31710db562a91da8ef37f5cd2231132474f46da) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Show tooltip next to cli builds project name in all buildsElliot Smith2015-10-163-12/+41
| | | | | | | | | | | | | | In the all builds page, show an icon with tooltip next to the command line builds project name. [YOCTO #8231] (Bitbake rev: 0240d92c6a508e0b22f37b3ea804171dd3dea5a6) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Hide tabs and add info popups for command line buildsElliot Smith2015-10-164-43/+94
| | | | | | | | | | | | | | | | | | Command line builds don't have a configuration or layers which can be modified through Toaster. Change the project builds page for the command line builds project, to hide the tabs and add some info popups in appropriate places on that page. [YOCTO #8231] (Bitbake rev: 565611749d47c915035890db60d19ab2fca7c42e) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Make the builds view the project page for "command line ↵Elliot Smith2015-10-166-11/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | builds" Command line builds don't have configuration or layers which can be manipulated in Toaster, so these pages shouldn't be visible. However, the configuration page is the default page for the project view (/project/X/), which isn't correct for the command line builds project. Modify all project page links across the application so that the command line builds project (aka the "default" project) always displays the builds tab. Add a project_url tag for templates which contains the logic determining where the URL for a project links to, based on whether it is the default project or not. [YOCTO #8231] (Bitbake rev: 3ea10f4c16a557e94781251f6776b13acb8e9eba) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Replace "Run again" button with help text for cli buildsElliot Smith2015-10-163-14/+65
| | | | | | | | | | | | | | | | | | | | It's not possible to run a command-line build again, as Toaster doesn't have access to the data used for that build. Replace the "Run again" button with an icon which pops up some help text to that effect. Add test to check that the run again button is hidden and the help icon displayed instead for command-line builds. [YOCTO #8231] (Bitbake rev: b67ac9e7cbab50951847dd1a63b12f41bb345dbb) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Exclude "command line builds" project from projects typeaheadElliot Smith2015-10-161-2/+2
| | | | | | | | | | | | | | | | | The "New build" drop-down provides autocomplete for Toaster projects. However, it should not include the default project (for command line builds), as it should not be possible for the user to select this project as the container for a Toaster build. [YOCTO #8231] (Bitbake rev: d6210cd75b0cd8b6d24d5e99f607ba5cc45daf97) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Show 'not applicable' for default project machine and releaseElliot Smith2015-10-162-13/+111
| | | | | | | | | | | | | | | | | | | | | | | The machine and release for the default project should show as 'not applicable' on the all projects page, as that information isn't available for command-line builds. Modify the templates with some conditionals to check for the default project row, plus some data-* attributes to mark where that data is to make testing possible. Add some tests for the all projects page to ensure that the correct machine/release are still shown for non-default projects, and 'not applicable' for the default project. [YOCTO #8231] (Bitbake rev: ce27b3fd728f0373aa1adc0d47baace264529b45) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Reorganise and lint testsElliot Smith2015-10-161-34/+49
| | | | | | | | | | | | Get test suite ready to accommodate new tests for how command line builds are shown on various pages. (Bitbake rev: 1ee1fc5dcdbb26c9f6e04b7719d7196083212d4c) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/hg: Include missing errno importLogan Buchy2015-10-161-0/+1
| | | | | | | | | | errno.ENOENT checked if deletion of the fullmirror fails. Exception was thrown since module not imported (Bitbake rev: d92ebfc34b69ad5df2d151e6b8299fbb5afa3e5f) Signed-off-by: Logan Buchy <logan.buchy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: normalize build targetsEd Bartosh2015-10-161-1/+19
| | | | | | | | | | | | | | | BuildStarted event not fully represents build tasks for the targets. If -c option is used to specify default task it's not included into the event. Made build targets to always look as <target>:do_<task>. Consider default task (do_build or specified by -c command line option) when normalizing. (Bitbake rev: 0b0e214e6f53c97ad3d48f622c7fc0ca149956f6) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Allow any text input to machine configuration variableMichael Wood2015-10-161-8/+12
| | | | | | | | | | | | | Allow any text input to the machine variable; as we may not have discovered all the available machines until after a build. [YOCTO #8418] (Bitbake rev: f44b34833f164daf34c57703429ed8f122888037) 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: Guard against builds with no targetsElliot Smith2015-10-161-2/+7
| | | | | | | | | | | | | | | | | | Although this probably can't happen in practice (builds without targets), this constraint is not currently enforced in the data model. In the unlikely event that a build has no target (e.g. in test cases), this causes a template rendering error. Rather than rework the data model, add a guard to the template to prevent it from rendering the target name if there are no targets associated with the build. (Bitbake rev: 4f409d8c01bae898ea142bd1417db99e12067753) 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: Remove Toaster exceptions section of build dashboardElliot Smith2015-10-162-45/+4
| | | | | | | | | | | | | | | | | Fatal build errors were displayed as exceptions, and highlighted with less severity than they deserved. Roll back to treating Toaster exceptions as errors by removing the toaster_exceptions member on Build objects and displaying EXCEPTION events in the errors section on the dashboard. [YOCTO #8320] (Bitbake rev: 59197320bdcefddf06084e871f1b5b21b21cbb63) 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: Record critical errorsElliot Smith2015-10-164-13/+25
| | | | | | | | | | | | | | | | | | | | Critical errors (where a build failed for reasons of misconfiguration, such as a machine being specified which is not in a project's layers) were being ignored (only log records up to ERROR level were being logged to Toaster's db). This meant that the build would fail but would not correctly report why. Add support for CRITICAL error levels to the LogMessage model, include errors at this level in the errors property for a build, and show errors at this level in the build dashboard. [YOCTO #8320] (Bitbake rev: b6eacbca9cacb607de864ab7d093deb296da8226) 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: Test that exception isn't thrown by project pageElliot Smith2015-10-161-0/+30
| | | | | | | | | | | | | | | | | Add a test which checks that an exception is no longer thrown for the /toastergui/project/X page for the default project. Note that we still get a spinning dialogue box on this page because the default project has no configuration to display, but at least it doesn't fail altogether. [YOCTO #8277] (Bitbake rev: 8795667d03bd8705d7e13c5d3d6bb6da371fa91d) 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: Check whether buildrequest exists before using itElliot Smith2015-10-161-2/+18
| | | | | | | | | | | | | | | | | | | | Builds initiated from the command line don't have a buildrequest associated with them. The build.buildrequest association is only added if a build is triggered from toaster. Some of the code for displaying the status of a build refers to build.buildrequest without checking whether it has been set, which causes an error to be thrown. Add a guard to check whether the buildrequest has been set. [YOCTO #8277] (Bitbake rev: af33409612139ab2347baf6b847b23faea19752d) 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: buildinfohelper Detect command line buildsMichael Wood2015-10-161-12/+22
| | | | | | | | | | | | When we're building using toaster as just a listener to bitbake (analysis mode) we need to handle the case where the toaster configuration data isn't present so we don't need to try and update the existing information. (Bitbake rev: a22faae2c3a5948356ce3cbc73c34509de65d370) 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: Disable add layer button when input is emptyBelen Barros Pena2015-10-161-0/+6
| | | | | | | | | | | | | | | | | | | | The 'add layer' button in the project configuration page is enabled when you select a layer from the type ahead. However, if you delete the layer name, the 'add layer' button remains enabled, and if you click it, the last selected layer from the type ahead will be added to the project. It is probably better to disable the 'add layer' button when the input field is empty. [YOCTO #8449] (Bitbake rev: d4820f16c76398400ddd573db03c654c51d40c1b) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Have 'Version' next to recipe nameBelen Barros Pena2015-10-161-3/+3
| | | | | | | | | | | | | | | | In all Toaster tables we show the version next to the recipe or package names, with one exception: the recipes table in the layer details page, where we are showing the version next to the recipe description. This patch moves the version column next to the recipe name, for consistency with all other Toaster tables. (Bitbake rev: b5af7084b28158a8a9eaf78db463555ae8e0f620) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Improve directory structure layoutBelen Barros Pena2015-10-163-8/+16
| | | | | | | | | | | | | | | | | | | File names in the directory structure often wrap due to big indenting for nested files and directories, unnecessary width in certain columns, and not using colspan when the symlink and package cells are empty. The wrapping makes the table harder to read. This patch reduces the amount of indenting, limits the width of the 'Size', 'Permissions', 'Owner' and 'Group' columns, and sets colspan to use the white space of the symlink and package names when empty. (Bitbake rev: 6167ee5a7569d8f841c340e672645cc133ea5a31) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: importlayer Update property names for importlayer api callsEd Bartosh2015-10-161-7/+6
| | | | | | | | | | | | | Update the property names used in checking for existing layers. The server side API changed but not all references were updated. [YOCTO #8300] (Bitbake rev: 1cbf0cf77a638257e18066f911fe4c4e13c278c6) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Fix missing tooltips from layers on project configuration pageMichael Wood2015-10-132-10/+11
| | | | | | | | | | | | | | | | | | Re-enable the layer tooltips on the project configuration page. This adds the required fields to the API used for the layer dependencies to be able to show the metadata needed. Also fixes link hrefs which were missing in the add layers confirmation dialog (bug 8251). [YOCTO #8295] [YOCTO #8251] (Bitbake rev: c7cb8255d0ab1fd7715e878c1c83ef0cd920387e) 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 broken test caseEd Bartosh2015-10-121-1/+1
| | | | | | | | | | | Fixed test_show_tasks_in_projectbuilds broken by latest changes in project build view. (Bitbake rev: 3c72c7634ab69a5eb18aa20a5c6d16a3e2666f62) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: exclude recipes with empty namesEd Bartosh2015-10-121-1/+1
| | | | | | | | | | | | | | Modified get_all_compatible_recipes function to exclude recipes with empty names from the result queryset. This should stop UI to show recipes with empty names in compatible recipes page. [YOCTO #7969] (Bitbake rev: f7c1bd49e2e28d12c6604f5ae54bc96e1e7b6946) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: delete recipe if it can't be savedEd Bartosh2015-10-121-0/+1
| | | | | | | | | | | | | | | | Due to Recipe model constraints some recipes can't be saved. However, they still can create incomplete records in the database. This causes all sorts of errors when Toaster operates with those objects. Removing them should fix those issues. [YOCTO #7969] (Bitbake rev: 4d76a9e418fd98a7882aa29f974a7389f9689314) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Remove project name from latest project buildsBelen Barros Pena2015-10-121-2/+4
| | | | | | | | | | | | | | The 'latest builds' list in the project builds page does not need to show the project name, since it lists only builds for the selected project. This patch removes the redundant project name. (Bitbake rev: 065652b9c649135f9e2fc5d9ba90e98f560dccdd) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: test get_alldeps APIEd Bartosh2015-10-121-1/+19
| | | | | | | | | | Added test case to test Layer_Version.get_alldeps API. (Bitbake rev: 159aa333c2f6344b5b37911c3f09601b9f0df6d8) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix orm testsEd Bartosh2015-10-121-29/+4
| | | | | | | | | | | Cleaned up and fixed orm tests. Removed test_build_layerversion as it's not needed due to changed compatible_layer_versions API. (Bitbake rev: 73ea29ed065bfaa80ee368b2a38c157e36fe1676) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix NameErrorEd Bartosh2015-10-121-1/+1
| | | | | | | | | | Fixed exception: NameError: global name 'DoesNotExist' is not defined (Bitbake rev: eee5311b867d3c8c33e06d04e103bfd3647146f4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use get_alldeps in layerdetails rendererEd Bartosh2015-10-121-2/+2
| | | | | | | | | | | | | Used Layer_Version.get_alldeps api in layerdetails template renderer to get list of layer dependencies. [YOCTO 8004] (Bitbake rev: 077d0f41a3bd9cf2802a1488f1d6156ccac7df1d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: implement API to get full list of depsEd Bartosh2015-10-121-0/+19
| | | | | | | | | | | | | | | | | | Implemented Layer_Version.get_alldeps API to recursively get full list of dependencies for the layer. Dependencies that are already in the project are filtered out from the result. Result list of Layer_Version objects is sorted by layer name for UI to look consistent. This API is going to be used to show amount and list of dependencies for the layer in the list of compatible layers for the project. (Bitbake rev: 7d853a3054a9ae3d18eb6f5bc13ba27d2795c31a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Don't descend into directories for cached_layersMichael Wood2015-10-111-13/+16
| | | | | | | | | | | | | | | | | | | | | | As toaster makes use of clones of itself we have a mechanism to just clone the current checkout and use that as a basis for the git clone for the layers inside. For instance, in poky, if we're running in that directory, we don't ever want to change the current checkout so we make a copy of ourselves to do this work in. This steps through cached_layers and previously-traversed directories inside the current checkout to find any pre-existing checkouts. This was ending up traversing too many directories down, so remove the traverse and only deal with the current directory. [YOCTO #8463] (Bitbake rev: 9c40b3b6377ab8f5d6ac9b8e00585b71de00bf74) 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: Update JS unit testsMichael Wood2015-10-112-20/+28
| | | | | | | | | | | | | | | | | Update JS unit tests. - Expand the add remove layer check to make sure that the layer is actually added to the project. - Remove some unused vars - Make sure that the layers/project ids will always exist at the point of running the test. - Add the missing typeahead input fields to the dom to fix the failing typeahead test. (Bitbake rev: 46af40b95f842aa14ef7e3f0d516aef3899d5e42) 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 stale layer state buttonsMichael Wood2015-10-117-18/+27
| | | | | | | | | | | | | | | | Move the "is available to the project" state computation to the template for the Layer add/remove buttons, Recipe build/Add layer as done for the Package add/remove. This is more reliable as we can get an inconsistent state on the front end JS as there are many opportunities for hitting out of date project information. [YOCTO #8294] (Bitbake rev: 43469c3360566ad4897785f14f8717a9bc8b6078) 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: tables Add the recipe filter back into the Recipe tableMichael Wood2015-10-111-0/+13
| | | | | | | | | | | | Add the "Is recipe currently available in the project" filter back to the Recipe table which was removed when we had intermediate AvailableRecipe tables. (Bitbake rev: b3682d1d851e616efa0715f9d43815a92e259432) 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 typo in returning pk list of layer versions in current ↵Michael Wood2015-10-111-1/+1
| | | | | | | | | | | | | project This was accidentally returning the primary key of the ProjectLayer rather than the ProjectLayer.Layer_Version.pk (Bitbake rev: b20f3626148e89af0e9fcfca911a5a1e4e355a41) 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 update build recipe button class nameMichael Wood2015-10-111-2/+2
| | | | | | | | | | | | Update the class name which we are using for the recipe build button. This fixes a regression in the buttons being enabled/disabled when adding and removing the layer being viewed from the project. (Bitbake rev: cc63f10f69105205e65b5f9647232b2b4b23ad48) 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: Hide "Download build log" button if log doesn't existElliot Smith2015-10-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Our builds pages show all builds, but also include build requests which may have resulted in a build failure, before the build started (e.g. at the recipe parsing stage). In such cases, the BuildStarted event is not captured by Toaster, so we have no idea where the log file for the failed build is. The result is that a build is shown by the Toaster UI /builds/ pages, but it is really a pretend build which never went beyond being a build request, and which has no associated log file. In turn, this breaks the "Download build log" button on the build dashboard, as there's no log file associated with the build. Fix this by hiding the "Download build log" button for builds which don't have a cooker_log_path. [YOCTO #8373] (Bitbake rev: 89e6cd03aa11c886f28520557af6c7ad51827b0e) 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 naming for clone directoryEd Bartosh2015-10-111-1/+1
| | | | | | | | | | | | | | Toaster uses git url and branch to make a clone directory name. Current code leaves '@' and '%' characters unchanged, which can cause generation of wrong directory names. Fixed this issue by replacing '@' and '%' with underscore. (Bitbake rev: e076888a2120a37c388930073694750735d86507) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: buildinfohelper Skip packages we have no build info aboutMichael Wood2015-10-111-11/+31
| | | | | | | | | | | | | | | If there are more packages listed as installed than we know about from bitbake, and therefore have insufficient information to be able to create a Toaster Package object then skip it. Also handle the case where a dependency references such a package. Also clarify the error logging. (Bitbake rev: b4ce793685f70cab3f28cb4329aaaf3878cd62e8) 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: buildinfohelper associate build data with built_recipeMichael Wood2015-10-111-1/+2
| | | | | | | | | | | Make sure we associate build data with the built recipe rather than toaster's configuration copy of the recipe. (Bitbake rev: 34d4ef7289d72d151ad0acdccab8b99c8c31221e) 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: get rid of interactivity in bldcontrolbrian avery2015-10-111-101/+37
| | | | | | | | | | | | | | | | | | removed layer dir questions and base off TOASTER_DIR removed build dir questions and base off TOASTER_DIR base configuration file off of TOASTER_CONF fixed some pylint issues [YOCTO #8217] (Bitbake rev: d5811968b5f22093365f381fb7e75ab46e5269c2) Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: orm Machines filter don't pass self in as parameterMichael Wood2015-10-111-1/+1
| | | | | | | | | | | | Fix typo don't pass self in as a parameter, this evaluated to true giving the wrong results meaning the machines typeahead did not return valid results. (Bitbake rev: 55ba889ef8900c95447861fa3985ca9cfe06afdf) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Rationalise mimetype guessing to fix artifact downloadsElliot Smith2015-10-112-35/+1
| | | | | | | | | | | | | | | | | | | | Artifact download links were broken because the function to get the mimetype for the artifact was incorrectly using the underlying mimetype library. The function was also attached to the build environment controller, which was unnecessary, as we only support local controllers anyway. Remove the mimetype getter on the build environment and use the one in the view code instead. This works correctly and prevents the download error from occurring. [YOCTO #8369] (Bitbake rev: 805fb2a9388c728600596e9b845a5c7eeaebd99c) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Use Python's mimetypes moduleElliot Smith2015-10-111-4/+11
| | | | | | | | | | | | | | | | | | | | filemagic is used to guess the mimetype of files when a user requests a download. However, this adds a dependency on an external library. Python does have a mimetypes module, though this guesses the mimetype rather than doing anything clever with the actual file content. But for our purposes, it's more than adequate. (NB Django also uses this module when serving static files.) Use this instead of relying on any external code, and remove the filemagic dependency. (Bitbake rev: 0dd0ac25d54c73f13812db04826b57b3d16ea43f) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: display warnings for bad "IMAGE_FSTYPES" valuesDavid Reyna2015-10-111-3/+18
| | | | | | | | | | | | Display warning message for IMAGE_FSTYPES when no value is selected or when the filter does not have any matches [YOCTO #8126] (Bitbake rev: 9a825eb928cb35096d2c1563788310fb6a13e93e) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Set default columns in recipes tablesBelen Barros Pena2015-10-111-2/+5
| | | | | | | | | | | | | | | | | | | The compatible image recipes and software recipes tables show pretty much all their columns by default. That's a few too many columns. The default columns in both tables should be: recipe, version, description, layer and build. This patch sets the above as the default columns. It also changes the table heading 'Recipe Version' to just 'Version', which is shorter and self-explanatory. [YOCTO #8421] (Bitbake rev: 1f7bfe5e13bc39bb7eb6e039fe4b6291fc95d531) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Comment out broken sorting and filtersBelen Barros Pena2015-10-111-23/+26
| | | | | | | | | | | | | | | | YOCTO #8131 records that the sorting by 'errors', 'warnings' and 'time', and the filtering by 'errors' and 'warnings', are broken in the 'all builds' and 'project builds' pages. To avoid exposing broken functionality to users, comment out the sorting and filtering in those columns until we we have a fix for YOCTO #8131. (Bitbake rev: 1f15557efc922bf460640eeaf1622453419bc9a6) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Don't HTTP cache ToasterTable responsesElliot Smith2015-10-111-0/+6
| | | | | | | | | | | | | | | | | | | Django allows generated pages to be cached by default by the browser. This can result in stale data displaying for some pages. Instead, disable HTTP caching of ToasterTable responses, so that each time a ToasterTable view is displayed, its data is refreshed. This carries a performance penalty, but ensures that ToasterTable views (e.g. compatible layers) are correctly refreshed if the user navigates their history with forward/back. [YOCTO #7660] (Bitbake rev: 44dccd3018554915868d6c8fe5e22624a2fcdec5) 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>