summaryrefslogtreecommitdiffstats
path: root/bitbake
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: fetch: use orig localpath when calling orig methodChristopher Larson2016-01-081-1/+1
| | | | | | | | | | | | | | | | When a mirror tarball is fetched, the original fetch method is called, which unpacks the mirror tarball. After the original method is called, it checks the localpath of the mirror tarball rather than the clone path, which isn't ideal, particularly if the mirror tarball was removed due to being out of date. We know the original fetch method will do what it needs to do to get its content in the form it needs from the mirror tarball, so we can use its localpath instead. (Bitbake rev: 022fe4481dc80121abb04e8a2b357722bc806475) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/utils: improve edit_bblayers_conf() handling of ↵Paul Eggleton2015-12-142-14/+267
| | | | | | | | | | | | | | | | | | | | | | | | bblayers.conf formatting Make the following improvements to edit_bblayers_conf(): * Support ~ in BBLAYERS entries * Handle where BBLAYERS items are added over multiple lines with += instead of one single long item Also add some comments documenting the function arguments and return values as well as a set of bitbake-selftest tests. (This function is used by the bitbake-layers add, remove and layerindex-fetch subcommands, as well as devtool when adding the workspace layer). (Bitbake master rev: e9a0858023c7671e30cc8ebb08496304b7f26b31) (Bitbake rev: fca41cf073469493e9dada377fc42d4b084c45c9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/utils: fix error in edit_metadata() when deleting first linePaul Eggleton2015-12-141-1/+1
| | | | | | | | | | | | | | If you tried to delete the variable on the first line passed to edit_metadata() this failed because the logic for trimming extra blank lines didn't expect the list to be empty at that point - fix that bad assumption. (Bitbake master rev: 8bce6fefdc5c046b916588962a2b429c0f648133) (Bitbake rev: 3fbf3f8211183ecb18938f2fc9acaa400766d9f0) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toasterui: Create per-build logsElliot Smith2015-10-292-30/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than relying on bug 8411, which is conveniently creating separate log files for each of our builds, create our own log file for each build. The log files are created in the same tmp directories that bitbake users, but are timestamped to the millisecond to avoid name collisions. Each log file is opened on a ParseStarted event (for builds triggered by Toaster) or BuildStarted event (for builds on the command line: Toaster doesn't get the ParseStarted event for command-line builds). The log file is closed on the BuildCompleted event, or if the build fails. Because we start logging on ParseStarted for Toaster builds, we're able to capture the "Build Configuration" section which bitbake writes to output. [YOCTO #8373] (Bitbake rev: 7974203cd8bc66dff1fcc55f8723dedefaf72840) 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: build/utils: Add BB_TASK_IONICE_LEVEL supportRichard Purdie2015-10-292-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Similarly to BB_TASK_NICE_LEVEL, add BB_TASK_IONICE_LEVEL which allows the ioprio of tasks to be adjusted. This is in response to various qemu runtime timeouts which have been witnessed on the autobuilder, seemingly due to IO starvation (we already use NICE_LEVEL to adjust tasks). This has a fairly urgent need to deal with certain 'random' failures we're seeing on the autobuilders in testing. The format of the data in the variable is BB_TASK_IONICE_LEVEL = "<class>.<prio>". For <class>, 2 is best effort (the default), 1 is real time and 3 is idle. You'd need superuser privileges to use realtime. The <prio> value is a default of 4, and can be set between 0 and 7 with 7 being lowest priority and 0 the highest. The user can set this freely with normal privileges Note that in order for this to take effect, you need the cfq scheduler selected for the backing block device. We could use nice wrapper functions for ioprio from modules like psutil however that would complicate bitbake dependencies. This version has some magic numbers but works on the main 32 and 64 bit x86 build architectures and can easily be extended if ever needed. When we move to python 3.x, we can likely replace this with standard calls. (Bitbake rev: b9471ad147b102c45d65f5ffd9521864df7ff9c1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: Ensure BB_CONSOLE remains correct over server resetsRichard Purdie2015-10-291-0/+7
| | | | | | | | | | The console log data is written to is created at console initialisation time and does not change over reset events. This ensures the BB_CONSOLELOG value is correct over such resets by preserving it. (Bitbake rev: 335eb2db228f7543a49de71f063ac72b865c947a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bb/ui: Use getSetVariable command for BB_CONSOLELOGRichard Purdie2015-10-292-2/+2
| | | | | | | | | | | | | | | | | | | | Metadata can define BB_CONSOLELOG as containing ${DATETIME} and this can get expanded to a different value each time the variable is read. In the case of BB_CONSOLELOG, this behaviour is not desireable. The values of DATE/TIME are locked down at build time but this is too late for the purposes of ensuring the system can figure out the real value of BB_CONSOLELOG. The best way to do this is to set the variable into the datastore, thereby preserving its value. [YOCTO #8411] (Bitbake rev: 021f2eb55ab5863b57ed1b3f19f1b329bc1ad477) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: command: Add getSetVariable commandRichard Purdie2015-10-291-0/+10
| | | | | | | | | | There are some use cases where we want to read a variable but also set the variable to the value read, effectively locking in any expansion of it. This adds such a command. (Bitbake rev: 0c0c524691e3d2ffd9953a106fcc06262cbde910) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-user-manual: Added new description for BB_TASK_IONICE_LEVELScott Rifenbark2015-10-291-0/+50
| | | | | | | | | Added a new variable description here for this variable. (Bitbake rev: 4e0da1ef4a58a7ba4b92d4e07ef79cf7bd90abf0) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-user-manual: Added BBTARGETS variable description.Scott Rifenbark2015-10-291-0/+9
| | | | | | | (Bitbake rev: 0f0c205b9d6c24bee334eabb359973e0368ce931) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: templates Add meaningful title tagsBelen Barros Pena2015-10-2928-19/+55
| | | | | | | | | | | Our title tags are all over the place, and have no relation to the page content. This commit adds a meaningful title tag to each Toaster page. (Bitbake rev: 1ab8827d684a19a70f3b788aed2327bf30edffe2) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: orm Fix restrictive LogMessage message lengthMichael Wood2015-10-272-1/+346
| | | | | | | | | | | | | | Log messages can be quite long so use a TextField rather than a char field with max length of 240. mySQL is especially picky about field lengths and will cause an exception if the log is too long. [YOCTO #8475] (Bitbake rev: 349119f44cdad240dda7f4db45992e2539e1416f) 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: Remove all navigation when not in build modeElliot Smith2015-10-272-4/+14
| | | | | | | | | | | | | | | | | | | | | | The user is redirected to the all builds page or all projects page from the landing page, regardless of mode. In build mode, this makes sense; but in analysis mode, we are restricting the view to just the cli builds project. This means that "all projects" and "all builds" only contains items relating to this one project. Modify the landing page so it redirects to the project builds page for the cli builds project when not in build mode. Also remove navigation elements which are irrelevant when not in build mode. [YOCTO #8514] (Bitbake rev: ae754655fa1bc5168f43e8821773e7b7b9440a5d) 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: Run tests in build modeElliot Smith2015-10-271-0/+6
| | | | | | | | | | | | | | Now that the UI content is conditional on whether BUILD_MODE is active, modify the existing tests so that they run in this mode by default. [YOCTO #8514] (Bitbake rev: 991712f3f88759e2d68af5a3fe83c1395c4f67f6) 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: Hide builds for non-cli projects in analysis modeElliot Smith2015-10-271-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | The "latest builds" sections of the "all builds" page show builds for all projects. This is not appropriate for analysis mode, where we can only affect the command-line builds project. Modify the "latest builds" section to only show builds for the command line builds project if in analysis mode. Also rationalise where we get the queryset of latest builds from: we have a _get_latest_builds() function which was being used to get the latest builds in most places, but not all. Also modify _get_latest_builds() to sort by started_on, rather than primary key, as assuming that a higher primary key value equates with later start time is incorrect. [YOCTO #8514] (Bitbake rev: 52de2c8cd11fa743f8fd7cb0cf776eea622ac474) 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: Hide top bar buttons in analysis modeElliot Smith2015-10-271-5/+13
| | | | | | | | | | | | | | | The "new build" and "new project" buttons are irrelevant in analysis mode, as you can't start a build or a project. Hide these buttons if not in BUILD_MODE. [YOCTO #8514] (Bitbake rev: b1858653c22eb6d51fc23f75ccad69b76523eb41) 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: Show mode-appropriate landing pageElliot Smith2015-10-271-45/+58
| | | | | | | | | | | | | | | | | | | | The same landing page is shown for both analysis and build modes. This means that users in analysis mode can see options which are not available or broken in that mode. Modify the landing page template to show a simple "run a build" message if the user is in analysis mode and has no builds yet. Also clean up the landing page HTML, because the indentation was a mess and the HTML was invalid. [YOCTO #8514] (Bitbake rev: 86b4a10cc817abb5e3e63360dc8b3c550337f17c) 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: Add BUILD_MODE flag to contextElliot Smith2015-10-273-5/+7
| | | | | | | | | | | | | | | | | | | | We set a TOASTER_MANAGED env variable in the startup script, which has a value of "1" if Toaster should run in build mode. Add a BUILD_MODE variable to settings.py which is True if TOASTER_MANAGED is set to "1", False otherwise. Add this to the context for every template, so we can use this information to conditionally alter the content of pages according to the mode we're in. [YOCTO #8514] (Bitbake rev: f9cf4739fc85c9760ce748323dc7c8de3fa7eaec) 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: add get_or_create_targets APIEd Bartosh2015-10-271-15/+21
| | | | | | | | | | | | | | | | | Target objects are created before the build if build is started from UI in build mode. However, in analysis mode Target objects don't exist and need to be created using information from bitbake events. Added new API call get_or_create_targets to retrive existing target objects or create them if they don't exist yet. (Bitbake rev: ef69be31d133696bde54605f5a18da660099734c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> 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: fetcher: svn: Add support for checkout to a custom pathJens Rehsack2015-10-271-2/+7
| | | | | | | | | | | Add support for the Subversion fetcher to checkout modules to a custom path than the module name to avoid checkout is always module - svn is path based and tag/branch-checkout might break builds because of invaid path specs. (Bitbake rev: af88f538e61afa1b115be4d7afe00d8477f61750) Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: preserve pre and post configsEd Bartosh2015-10-273-0/+14
| | | | | | | | | | | | | | | | | | | Additional config files passed to bitbake server with --read and --postread options are rewritten by client bitbake even if it doesn't use those options. This is a show stopper for toaster as toaster command line builds are based on the assumption that server is aware of toster configs, provided by --postread option. This behaviour is fixed by preserving values of --read and --postread options when bitbake server starts and restoring them if client bitbake doesn't explicitly specify them. (Bitbake rev: 02c64f7487ca8ec5d32c440f5002c4b8f64b76a6) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Add tests for error message display on the build dashboardElliot Smith2015-10-161-2/+89
| | | | | | | | | | | | | | Add tests to ensure that log messages with CRITICAL level and with EXCEPTION level are shown in the main errors display on the build dashboard. [YOCTO #8320] (Bitbake rev: 7b3ed62800cb7352154897c1c5ad2440a54df198) 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: Modify "New build" button behaviour for cli builds projectElliot Smith2015-10-163-51/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | The "New build" button should only be displayed if there are user-generated projects, not if there is only the command-line builds project. (Toaster can't run builds on behalf of the command-line builds project.) The "New build" form should also display as if no project has been set (i.e. show the project and recipe text entries). Add a variable which tracks the number of non-command-line projects, then use this to hide the button when appropriate. Also track whether the current project is the default one, and use this to add extra conditions to when the "New build" text entries are shown. [YOCTO #8231] (Bitbake rev: 07e7bc29a7d976941eeae997f78a25ed6edddfc8) 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: 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: exit or return depending on the modeEd Bartosh2015-10-161-1/+1
| | | | | | | | | | | | | | | | | When toaster script is sourced 'return' should be used as using 'exit' will cause script to exit the shell and close terminal window. If script is called 'exit' should be used. Otherwise shell will throw and error: return: can only `return' from a function or sourced script Used 'return' or 'exit' depending on the toaster mode using TOASTER_MANAGED variable. (Bitbake rev: 643c42069a2788e9f40fa1bc9845f32aed3d096c) 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: set TOASTER_MANAGED variableEd Bartosh2015-10-161-2/+3
| | | | | | | | | | Set TOASTER_MANAGED to 1 if toaster is run as a script. (Bitbake rev: 9f68f317e33d617558fce3427a94e14ef65c7d88) 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: get rid of SRCFILEEd Bartosh2015-10-161-3/+1
| | | | | | | | | | | Used TOASTER variable instead of SRCFILE as they're essentially the same. (Bitbake rev: 4b8cb1098ad73b4e9dc65b5c6de7d11d2e2468c7) 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 path to the script to guess config pathEd Bartosh2015-10-161-3/+3
| | | | | | | | | | | | | | Used $TOASTER variable(path to the toaster script) instead of current directory name to get path to the toasterconf.json This way script should work in both modes and it doesn't depend on the current directory. (Bitbake rev: 5368d9af4e2c121938fc2421a536fb7f20a987fd) 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: 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: Always run bldcontrol migrationsElliot Smith2015-10-161-17/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | The toaster startup script conditionally migrates the database tables depending on whether you are in managed mode or not. This means that if you are in analysis mode, some of the bldcontrol* database tables used by managed mode are not available. As a consequence, some of the code in toaster which refers to those tables can break in analysis mode, as there's no clean isolation of the two modes. To prevent this from happening, always run the migrations for managed mode and create the bldcontrol* tables, even if in analysis mode. Also clean up the function which starts up toaster so the logic is easier to follow. [YOCTO #8277] (Bitbake rev: b1fc592131286ebbede2693be8c86636f0039011) 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>