aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-08-05toasterui: ensure that the Build object is always availableelliot/submit/9475-9631-9836-9952_combinedElliot Smith
Many of the methods in toasterui and buildinfohelper rely on the internal state of the buildinfohelper; in particular, they need a Build object to have been created on the buildinfohelper. If the creation of this Build object is tied to an event which may or may not occur, there's no guarantee that it will exist. This then causes assertion errors in those methods. To prevent this from happening, add an _ensure_build() method to buildinfohelper. This ensures that a minimal Build object is always available whenever it is needed, either by retrieving it from the BuildRequest or creating it; it also ensures that the Build object is up to date with whatever data is available on the bitbake server (DISTRO, MACHINE etc.). This method is then called by any other method which relies on a Build object being in the internal state, ensuring that the object is either available, or creating it. Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster-tests: add test for showing self-dependent taskElliot Smith
Toaster occasionally records a task which depends on itself. Add a test which checks that a task which depends on itself can be displayed in the task page. [YOCTO #9952] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: prevent infinite loop when finding task dependenciesElliot Smith
Toaster occasionally records a task which depends on itself. This causes a problem when trying to display that task if it is "covered" by itself, as the code does the following: for task A, find a task B which covers A; then, recursively find the task which covers B etc. If B == A, this loop becomes infinite and never terminates. To prevent this, add the condition that, when finding a task B which covers A, don't allow B == A. [YOCTO #9952] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster-tests: add tests for reverting to default sortElliot Smith
Add tests for ToasterTable UI table sort reverting, which can only be exercised via the browser. Check that if a table is sorted by a column, and that column is hidden, then the sort reverts to the default for the table. [YOCTO #9836] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: reset table to default orderby when orderby column is hiddenElliot Smith
When a ToasterTable is sorted by a column, and that column is hidden from view, the sort doesn't revert to the default for the table. Modify the JS responsible for reloading the table data so that it doesn't rely on clicking a table column heading (as this is inflexible and error-prone). Instead, use a function to apply the sort to the table; and call that function when column headings are clicked. This means that the ordering can be changed programmatically to a specified default ordering when a column is hidden, without having to click on a column heading. Use this function when the current sort column is hidden, to apply the default sort for the table. [YOCTO #9836] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: show loading spinner after creating custom imageElliot Smith
Creating a custom image through the "New custom image" dialog can sometimes result in a long pause between pressing the button to create the image, and being transferred to the page showing details of its content. This can make it appear as though pressing the button had no effect. To prevent this from happening, disable the button and text box in the new custom image dialog after the "Create image" button is pressed. Also show a loading spinner and "loading..." text on the button to make it clear that the application is still responding. [YOCTO #9475] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster-tests: fix erroneous message when test failsElliot Smith
When one of the layer details tests fails (as it occasionally does, if running on a machine under heavy load, due to sync issues), the error message shown is misleading, as it is something like: "Expected 'This was imported' in ['This was imported', ...]" The string 'This was imported' is in the list shown in the message, but the message suggests it isn't. This is because the test compares the string with one list, but then uses a different list in the fail message if the comparison fails. Fix the list shown in the message about the test failing. Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster-tests: add tests for most recent builds state changesElliot Smith
Add tests for the state transitions in the "most recent builds" area of the all builds page. [YOCTO #9631] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster-tests: add tests for build dashboard menu and summary visibilityElliot Smith
Test that the build dashboard only shows a menu and a build summary area if a build has properly "started" (i.e. has at least one Variable object associated with it). [YOCTO #8443] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster-tests: add tests for build time links in the all builds pageElliot Smith
When a build fails, it shouldn't have links on its build time in the recent builds area or in the all builds table. [YOCTO #8443] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: adjust build dashboard for failed buildsElliot Smith
Remove the side bar and build details modules for failed builds. [YOCTO #8443] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: add started property to BuildElliot Smith
Add a property to the Build model which records whether the BuildStarted event has occurred for the build. The proxy for this event is the presence of variables recorded against the Build: as the buildinfohelper only saves variables when the BuildStarted event occurs (as the variables aren't available on the bitbake server before that point), we can tell whether BuildStarted has happened by counting Variable objects on the Build. This can then be used to determine whether a Build "properly" started, enabling a different dashboard display (left-hand menu hidden) if the build didn't record any useful information (e.g. if it had a bad target). [YOCTO #8443] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: remove links from time field on failed buildsElliot Smith
Failed builds don't have any time data recorded for them, so the time field in the builds table, the time shown in the recent builds area, and the build time shown in the build dashboard should not be links for failed builds. [YOCTO #8443] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: tweak styling and typos in recent builds areaElliot Smith
Help icons need to have the Bootstrap tooltip() method called on them so that the popups are correctly styled. Ensure that the colour of the help/error/warning icons is correct, depending on the build state. Fix pluralisation of errors and warnings shown. Add a div around the build state area so it's easy to pick up where the state is going to display (e.g. in tests). [YOCTO #9631] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: show "Tasks starting..." until the first task completesElliot Smith
To prevent showing a "0% of tasks complete" message for a long time, don't show the progress bar until the first task has finished. While waiting for that first task, show a message about tasks starting instead. [YOCTO #9631] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: show progress of recipe parsing in recent builds areaElliot Smith
Modify buildinfohelper and toasterui so that they record the recipe parse progress (from ParseProgress events in bitbake) on the Build object. Note that because the Build object is now created at the point when ParseStarted occurs, it is necessary to set the build name to the empty string initially (hence the migration). The build name can be set when the build properly starts, i.e. at the BuildStarted event. Then use this additional data to determine whether a Build is in a "Parsing" state, and report this in the JSON API. This enables the most recent builds area to show the recipe parse progress. Add additional logic to update the progress bar if the progress for a build object changes. [YOCTO #9631] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: move most recent builds templating to clientElliot Smith
The most recent builds area of the all builds and project builds table needs to update as a build progresses. It also needs additional functionality to show other states (e.g. recipe parsing, queued) which again needs to update on the client side. Rather than add to the existing mix of server-side templating with client-side DOM updating, translate all of the server-side templates to client-side ones (jsrender), and add logic which updates the most recent builds area as the state of a build changes. Add a JSON API for mostrecentbuilds, which returns the state of all "recent" builds. Fetch this via Ajax from the build dashboard (rather than fetching the ad hoc API as in the previous version). Then, as new states for builds are fetched via Ajax, determine whether the build state has changed completely, or whether the progress has just updated. If the state completely changed, re-render the template on the client side for that build. If only the progress changed, just update the progress bar. (NB this fixes the task progress bar so it works for the project builds and all builds pages.) In cases where the builds table needs to update as the result of a build finishing, reload the whole page. This work highlighted a variety of other issues, such as build requests not being able to change state as necessary. This was one part of the cause of the "cancelling build..." state being fragile and disappearing entirely when the page refreshed. The cancelling state now persists between page reloads, as the logic for determining whether a build is cancelling is now on the Build object itself. Note that jsrender is redistributed as part of Toaster, so a note was added to LICENSE to that effect. [YOCTO #9631] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05cooker: add BuildInit eventElliot Smith
In situations where a bitbake run fails before the build properly starts and BuildStarted is fired, a UI has no way to get at the targets passed to the build. This makes it difficult for the UI to report on the targets which failed. Fire a BuildInit event before running buildTargets() or buildFile(). This enables a UI to capture targets passed to buildTargets(), even if the build fails (e.g. the targets themselves are invalid). [YOCTO #8440] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-05toaster: tests test_new_project_page Catch button not enabled exceptionMichael Wood
When using firefox and selenium we get an exception generated when a disabled button click is attempted. This should happen in the test but we need to catch the exception to make sure it doesn't cause the test to fail. [YOCTO #10056] Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-08-02bitbake: bitbake-user-manual: Applied typo fix to "Override Style Operation ↵Scott Rifenbark
Advantages" Fixes [YOCTO #9985] Fixed an operator typo from ":=" to "+=" in the note at the bottom of the section. (Bitbake rev: 319d3d387161182069e6d1b3db17ccb539d097ed) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: bitbake-user-manual: Changed bitbake command example.Scott Rifenbark
Fixes [YOCTO #7718] In the "Executing a List of Task and Recipe Combinations" section, I changed the improper bitbake command example to use the correct syntax. This change was review feedback. (Bitbake rev: c79fab1be4898ec88bfddd4c4f84e76dc3a3125b) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: bitbake-user-manual: Updated the PROVIDES variableScott Rifenbark
Fixes [YOCTO #10011] Added paragraphs near the end to describe the role of virtual targets. (Bitbake rev: fc47bb99dbc1972dfb3a83c0f4c479963da64bcc) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: bitbake-user-manual: Added non-existant variable expansionScott Rifenbark
Fixes [YOCTO #10003] I added a small paragraph explaining what happens when expansion of a variable that does not exist occurs. (Bitbake rev: 8006da3f229d0227215ccd59cd273edacf72f9ce) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: bitbake-user-manual: Applied some review commentsScott Rifenbark
Fixes [YOCTO #9985] Fixed some problems with the changes. A small typo for an example and added a clarifying operator in another sentence. (Bitbake rev: d8ae3775eefe3f7b62fc26cae5b742ae83850c13) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: bitbake-user-manual: Updated the "Inline Python Variable Expansion" ↵Scott Rifenbark
section. Fixes [YOCTO #9984] Added a small note to the bottom to help clarify. (Bitbake rev: 64bf49826088c56b739ed971251f05b4564c712e) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: bitbake-user-manual: Fixed override operator syntax.Scott Rifenbark
I had inconsistent usage of the "_append" style operator syntax in the chaper. I was using a mix of <filename>_append</filename> and "_append". I changed to "_append" for consistency. (Bitbake rev: 5c5b88e402376268baa15c5d04d2592f28d76751) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: bitbake-user-manual: Clarified override-style operators.Scott Rifenbark
Fixes [YOCTO #9985] Made the following changes: * Section Removal (Override Style Syntax): Added a small qualifying sentence at the end to further define behavior * Added new section "Override Style Operation Advantages": This section provides some rationale behind the "_append" style operations. * Section "Examples": Changed an example to use the "=" operator rather than the "+=" operator. (Bitbake rev: 797d9627baad9ccd3d55e825c0d705311f631f78) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: bitbake-user-manual: Updated the variable expansion section.Scott Rifenbark
Fixes [YOCTO #9984] Added more detail to the examples that show the effects of variable expanison. (Bitbake rev: 480096ca93c0a649ebfff68dfc7d9bbe8eb2ea2d) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-02bitbake: Revert "bitbake-user-manual: Added new section on command-line ↵Richard Purdie
execution" This reverts commit 6f6cd0674fd1595f4e74b7da692e0c348b2660c6 as it was a duplicated commit. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Removed redundant "and"Scott Rifenbark
(From yocto-docs rev: 60a1b98e22d4118e090c0dd214736b78884da227) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Removed stray parenthesis.Scott Rifenbark
Fixes [YOCTO #9988] (From yocto-docs rev: 314f3c10e420a9681b4a814ddc4f24bbddd3741a) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Updated the STAGING_DIR_HOST variable.Scott Rifenbark
Fixes [YOCTO #9988] Added a link to the MULTIMACH_HOST_SYS variable from the STAGING_DIR_HOST variable where it is referenced. (From yocto-docs rev: 0f72b58a7bc1271245d139726f1145d5d99acee4) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Updated STAGING_DIR_TARGET and MULTIMACH* variables.Scott Rifenbark
Fixes [YOCTO #9988] Updated the STAGING_DIR_TARGET variable with a better introductory sentence. Updated the MULTIMACH_TARGET_SYS variable with a more expanded explanation. Added a new glossary entry for the MULTIMACH_HOST_SYS variable. (From yocto-docs rev: d17873d695772b62325de35dd0e5b9ccc7f12f1a) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Added a link to D variable and moved a task:Scott Rifenbark
Fixes [YOCTO #9989] Added a link to the WORKDIR term in the D glossary description example. Also, moved the do_checkpkg task from the section of showing normal recipe build tasks to the the section for manually called tasks. (From yocto-docs rev: 548e2fdfeae9d67bbad73ee3ab69a64a9a6ce9ff) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Augmented some STAGING_DIR_* variable descriptions:Scott Rifenbark
* Updated the STAGING_DIR_HOST description * Updated the STAGING_DIR_NATIVE description * Updated the STAGING_DIR_TARGET description Fixes [YOCTO #9988] (From yocto-docs rev: cc2c3d849f0919199d1b7960e30ed152f3f0474e) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01Revert "ref-manual: Added new glossary entry for REMOVE_PKG_SUPPORT."Scott Rifenbark
This reverts commit 95b740d719a7a6ffe3a06a1f152af4d877ee08c7. I inadvertantly put this variable description in before they had settled on it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Added 3 new QA sanity checks.Scott Rifenbark
Fixes [YOCTO #9983] Added the host-user-contaminated, invalid-chars, and invalid-packageconfig QA checks. (From yocto-docs rev: 5bd28f9386a8afff435254788fbce73a7fc48305) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Applied review edits to "Checking for Missing Build-Time ↵Scott Rifenbark
Dependencies" Removed an errant comma and rewrote the final area of the section. Fixes [YOCTO #9976] (From yocto-docs rev: 19924dee2ebec3ff2a53152ecb8f79172eb43060) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Applied review changes to the do_deploy task.Scott Rifenbark
Cleared up the last third of the description with better structure and wording. Fixes [YOCTO #9970] (From yocto-docs rev: a2dbea4f3bbdddd72c86a5ade86ac822cd9bfecd) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Added new "Checking for Missing Build-Time Dependencies" section.Scott Rifenbark
I added a new suggest section to the existing "Debugging Build Failures" section. This section describes how to check for build-time dependencies. Fixes [YOCTO #9976] (From yocto-docs rev: 54cd7161593ba35b63a26ade312cc4aee17e3515) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Added link to the do_populate_sysroot taskScott Rifenbark
Fixes [YOCTO #9968] Made a link for the STAGING_DIR_HOST variable for consistency. (From yocto-docs rev: eeb163ead40752d69f2f6c19e859e82109ef967d) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Applied formatting to QA check string in do_install taskScott Rifenbark
Fixes [YOCTO #9966] (From yocto-docs rev: ae87d07c8d429813d30569360eb4889eac398bee) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Fixed output example in the B variable.Scott Rifenbark
Updated the example statement line to match the actual assignment. (From yocto-docs rev: 45e9274fcca0a285bda38cad8a6fe5e7bb05bd80) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Updated the do_deploy task reference section.Scott Rifenbark
Fixes [YOCTO #9970] Added more detail to the do_deploy task. (From yocto-docs rev: 1b2daf814011dbc3c5987313442e95e18e83e180) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Added detail to the populate_sysroot task.Scott Rifenbark
Provided more detail in the first sentence. Fixes [YOCTO #9968] (From yocto-docs rev: 15080a565bafdfffe0c13a0a18fd1c011773cc25) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Updated the do_packages task.Scott Rifenbark
Fixes [YOCTO #9967] Added more detail to this task description. (From yocto-docs rev: 8cb154493a6b4ee541826f898b823a4dc2795f88) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Updated the do_install reference section.Scott Rifenbark
Fixes [YOCTO #9966] Added quite a bit of detail to this task's description. (From yocto-docs rev: c29d86813b9cb9bc1c9c02aeffb5cfd99fc5a542) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Updated the do_configure task.Scott Rifenbark
Added more detail for this task. Fixes [YOCTO #9965] (From yocto-docs rev: e50207488b8262bb46e58c4b9f40e487c15abc67) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Fleshed out the do_compile task.Scott Rifenbark
Fixes [YOCTO #9964] Added more detailed information to the do_compile task. Also, provided some information about oe_runmake in the base.bbclass refrence. Finally, put some detail in the "Shared State" section concerning do_deploy[dirs]. (From yocto-docs rev: 5d0612a57cc8e035a2194ada21e65055ef2b8a2e) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01ref-manual: Updated RDEPENDS variable description with note.Scott Rifenbark
Fixes [YOCTO #9963] I created a new cautionary note to warn the user to use the correct operator "+=" rather than "=" so that they do not destroy $PN. (From yocto-docs rev: e6861ffe9400b1ee48cc46ccfc6e8d65efbbec8c) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>