summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-09-30data: Fix handling of vardepvalueexcludeRichard Purdie
The value used for exclusion was always being expanded. This is actually a bad idea since in most cases you'd want to exclude an unexpanded value and makes it impossible to use the variable as intended. This adjusts things so the value is not expanded and we can correctly remove things from checksums much more easily. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-28toaster: make error message more informativeEd Bartosh
Error message ERROR: Unprocessed MetadataEvent <bb.event.MetadataEvent object at 0x7f750e671a58> doesn't give a lot of information about the event. It just prints event object, which is always bb.event.MetadataEvent. Including event type into the error message should make it more informative: ERROR: Unprocessed MetadataEvent TaskArtifacts 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>
2016-09-28toaster: fix 'Unhandled MetadataEvent' errorEd Bartosh
New MetadataEvent 'TaskArtifacts' causes this error. Processing of this event will hopefully be implemented in future. For now it should be enough to just skip it. 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>
2016-09-28toaster: fix handling of EnvironmentErrorEd Bartosh
Due to the bug in processing EnvironmentError exception, toasterui ignores it. As EnvironmentError is a base for OSError and IOError this means that all OSError and IOError exceptions were silently ignored. 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>
2016-09-28toaster: check if file existEd Bartosh
Buildinfohelper assumes that all files mentioned in manifest exist in deploy/ directory, which is not always the case. Toaster crashes with OSError trying to call os.stat on non-existing file. Checking if file exists before processing it should fix this. [YOCTO #10185] 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>
2016-09-28toaster: stop modifying OEROOT in toaster scriptEd Bartosh
Setting OEROOT in toaster script makes oe-init-build-env to break with error: bash: ../bitbake/bin/../../scripts/oe-buildenv-internal: No such file or directory This happens because OEROOT contains path relative to build directory. Renamed OEROOT to OE_ROOT and unset it after it's used. 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>
2016-09-28toaster: layerdetails Update implementation of delete imported layerMichael Wood
Update the implementation of delete an imported layer so that it is consistent with the other delete messages and wording. Also use the new libtoaster way of setting a notification that the delete was successful. 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>
2016-09-28toaster: customrecipe Add frontend feature to delete custom image recipeMichael Wood
[YOCTO #8132] 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>
2016-09-28toaster: importlayer Convert success import to new notification systemMichael Wood
Use the simpler libtoaster method of showing a notification about successful import of a layer. Also a number of whitespace clean ups. 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>
2016-09-28toaster: Add front end controls for deleting a buildMichael Wood
Add front end modal and controls for deleting a build from the build dashboard. Also convert the Actions list to links instead of buttons as per the design. [YOCTO #6238] 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>
2016-09-28toaster: Add backend API for deleting a buildMichael Wood
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>
2016-09-28toaster: alerts and modals Avoid modals and alerts overlaying each otherMichael Wood
Make sure that when we spawn a modal we clear any notifications and also make sure that old notifications are cleared before showing a new one. 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>
2016-09-28toaster: project page Implement front end feature to delete projectMichael Wood
Add confirm modal and api calls to delete a project from the project dashboard. [YOCTO #6238] 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>
2016-09-28toaster: libtoaster Add a global notification set/show mechanismMichael Wood
We now have a number of places where we show change notifications based on an event in a previous page (imported a layer, deleted a build, deleted a project etc) and we show these notifications on various pages so we add a simple notification utility to libtoaster. 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>
2016-09-28toaster: move MostRecentBuildsView to its own widgetMichael Wood
This view is specific to the builds dashboard rather than gernic api so like ToasterTable and ToasterTypeAhead we class it as a widget as it has a single purpose. Also clean up some flake8 identified issues. Original author of the code moved in this commit is Elliot Smith. 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>
2016-09-28toaster: Clean up and convert to rest api project edit and get callsMichael Wood
Convert the project xhr calls into proper rest api and port the client side calls to use the new API. Fix all the pyflakes identified issues and clean up unused fields. Also remove the api and client side code for changing release on the fly as this is no longer supported. [YOCTO #9519] 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>
2016-09-28runqueue: Ensure worker failure is accounted for in task statisticsRichard Purdie
If the worker fails to launch, ensure the task is shown as failed rather than a confusing "all succeeded" message. Patch from Juro Bystricky [YOCTO #10335] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-27build.py: fix os.getcwd() exceptionJuro Bystricky
When trying to obtain the current directory from a directory that does not exist anymore, an exception is raised. This patch handles such exception. [YOCTO #10331] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-23knotty: ensure progress bar output is accounted for in displayPaul Eggleton
When calculating how many lines we'd printed we weren't properly taking the progress bars into account, with the result that sometimes if the last line printed on the terminal wrapped to the next line (which is possible) we backed up less lines than we should have. Additionally, we should always print a newline after updating the progress bar - there's no need to check if there wasn't output (there always will be courtesy of our overridden _need_update()) and we now allow the line to wrap so we don't need to check the other condition either. Hopefully this will fix [YOCTO #10046]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-22knotty: Show task elapsed timeRichard Purdie
Its often useful to know how long a task has been running for. This patch adds that information to the task display, updating every 5s if there were no other updates so the user can see how long tasks have been running for. [YOCTO #9737] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-21cooker/providers: Only add target to world build if task existsRichard Purdie
A "bitbake world -c unpack" currently breaks as not all tasks have an unpack task. This change allows addition of world targets only if the specified task exists which makes certain commands possible when otherwise you just get errors which can't easily be avoided. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-21fetch2: handle absolute paths in subdirRoss Burton
Currently if you use the subdir parameter in a SRC_URI and pass an absolute path then it gets appended to the unpack directory instead of being used directly. This is inconvenient as it may be useful to use ${S} when you want to unpack a file into the source tree. Change this behaviour so that absolute paths are used directly instead of being appended to the root directory. To ensure that recipes cannot write files to an arbitrary location enforce that the subdir starts with the unpack root. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-21bitbake-user-manual: Added information for using single quotesScott Rifenbark
Fixes [YOCTO #10293] In the section about setting variables, I added a paragraph that explains the use of single quotes when setting a variable. The case covers when you must have the double quote charater as part of your variable's value. Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-21bitbake-user-manual: New section on functions you can call from PythonScott Rifenbark
Fixes [YOCTO #10100] I added a new parent directory named "Functions You Can Call From Within Python". This section contains a couple new sub-sections. One is the existing "Functions for Accessing Datastore Variables". The other is called "Other Functions", and it is used to point or reference some commonly used functions that the user can call from within Python. Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-21bb.build: in _exec_task, catch BBHandledExceptionChristopher Larson
We don't want a traceback for this exception, we need to catch it, fire TaskFailed, and return failure. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20runqueue: Handle missing sstate dependencies betterRichard Purdie
If you "bitbake glibc-locale" then delete the libpcre-native sstate and "bitbake glibc-locale -C package_write_rpm", it will fail with rpmbuild missing the libprce library. The reason is that libpcre-native fails to install from sstate (since it isn't present) but doesn't get built and hence rpm-native tries to run without its dependencies. The simplest fix is not to add "covered" tasks which have failed to install sstate. I can't help feeling there is more to this issue but this does fix the current problem and shouldn't have adverse affects. It is an unusual situation to have missing dependencies in sstate since they're usually all present or not at all. I've taken the opportunity to remove some old cruft from when we had numeric task ids, the code can be simpler now. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20toaster: buildinfohelper local layer don't construct path using git infoMichael Wood
When the layer is local source don't try and work out the location of the layer by using the git information (getGitCloneDirectory) [YOCTO #10199] Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20toaster: Add tests to detect if we have missing db migrationsMichael Wood
Based on the same test as found in patchwork by Damien Lespiau https://github.com/dlespiau/patchwork/blob/master/patchwork/tests/test_db.py Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20toaster: unlock BuildEnvirnoment when build is doneEd Bartosh
There is no need to lock build environment before changing build status as this operation is very fast. However, there is a need to unlock it after changing build status. Explicitly unlocked BuildEnvironment after build reaches final status SUCCEEDED, FAILED or CANCELLED. This should allow runbuilds process to pickup next build faster. 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>
2016-09-20runbuilds: code cleanup - remove unused importsEd Bartosh
Fixed pylint warning: W0611(unused-import): Unused import 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>
2016-09-20runbuilds: code cleanup - whitespaces, long linesEd Bartosh
Fixed following pylint warnings: C0330(bad-continuation): Wrong hanging indentation before block. C0326(bad-whitespace): No space allowed around keyword argument assignment C0326(bad-whitespace): Exactly one space required before assignment C0301(line-too-long): Line too long 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>
2016-09-20runbuilds: process builds on startEd Bartosh
If Toaster is stopped incorrectly there could be some build requests and builds in incorrect state left from the previous run. Running main processing function on start should take care of those. 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>
2016-09-20runbuilds: process builds on SIGUSR1Ed Bartosh
Run main processing function 'runbuild' only if SIGUSR1 is received. This signal is sent by Toaster when build status is changed (either started, cancelled or finished). This should stop continuous database polling as run_builds function will be called only when needed, i.e. after build status is changed. [YOCTO #8918] 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>
2016-09-20toaster: notify runbuilds when build status changesEd Bartosh
Called signal_runbuilds API when build is scheduled, cancelled or finished to notify runbuilds process about builds status change. [YOCTO #8918] 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>
2016-09-20toaster: implement signal_runbuilds functionEd Bartosh
This function reads pid of runbuilds process from BUILDDIR/.runbuilds.pid and sends SIGUSR1 to it. signal_runbuilds function will be used in Toaster code to notify runbuilds when build is scheduled, finished or cancelled. 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>
2016-09-20toaster: fix checking of repository urlEd Bartosh
Toaster checks gir repository url is the same as locally cloned before checking it out to existing local clone. This check can be skipped if commit is 'HEAD' as in this case repository is not hard reset to commit, so the local clone won't be changed. [YOCTO #10163] 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>
2016-09-20cookerdata.py: Catch BBHandledException, preventing a backtrace in an eventMark Hatle
The event handling 'Exception' was catching and triggering a backtrace. This trace was obscuring any errors from an event handler that had raised the BBHandledException, which should indicate do not print additional information. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20cooker.py: add LAYERRECOMMENDS processingJoe Slater
Add recommended layers to collection_depends[] so that dynamic priority assignment will work for both depends and recommends. Recommended layers do not cause an error or warning if they are not in the collection list, but debug messages are output for level 3 and above. explode_dep_versions2 returns a dictionary, so we change the variable deplist to depDict. The dictionary values are lists which are either empty or contain only one version specification. Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20toaster: Remove duplicate layer informationBelen Barros Pena
In the custom recipe details page, the layer information is displayed twice in the right hand column. Remove one of the layer entries, since showing the layer information once should be enough. [YOCTO #10037] Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20toaster: Indicate active navigation elementBelen Barros Pena
The left navigation in the build history pages is not showing the active item when you navigate directly to the errors or warnings information in the build summary. Add a special case to make sure the "build summary" item is highlighted. [YOCTO #9864] Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20toaster: Fix links to tasks with specific outcomeBelen Barros Pena
The build dashboard provides a count of tasks that were executed and not executed, and of tasks that failed (if any). The number is a link to the list of tasks. Fix the links so that they filter the tasks table by the selected criteria (executed, not executed or failed). [YOCTO #9832] Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20uihelper: use elif instead of repeated ifRoss Burton
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16cooker: check if target contains taskEd Bartosh
Task name was incorrectly added to the targets that already contained :task suffix and fired with BuildInit event. This caused Toaster to create incorrect Target objects and show them in UI. [YOCTO #10221] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16cookerdata: allow multiple passes of config re-parsingMarkus Lehtonen
[YOCTO #10188] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16cookerdata: fire ConfigParsed event after re-parseMarkus Lehtonen
[YOCTO #10188] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16Add missing file from 'toaster: Allow git information to be null for BRLayer'Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14build: Allow dirs/cleandirs to work for empty functionsRichard Purdie
Users are surprised when dirs/cleandirs aren't acted upon for empty functions. This reorders the code slightly so that those flags are acted upon for empty functions as there are cases where this is expected. [YOCTO #10256] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14bitbake: fetch2: Make SRCREV_FORMAT name substitution saferUlf Magnusson
The implementation of SRCREV_FORMAT has at least two issues: 1. Given two names "foo" and "foobar" and SRCREV_FORMAT = "foo_foobar", "foo" might currently get substituted twice, and "foobar" not at all. 2. If the revision substitued for some name happens to contain another name as a substring, then that substring might incorrectly get replaced. Fix both issues by sorting the names with the longest ones first and replacing all names at once with a regular expression. This was inspired by http://stackoverflow.com/questions/6116978/python-replace-multiple-strings. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14fetch2/npm: don't download same URL multiple timesPaul Eggleton
If we've already fetched a particular URL then we do not need to do so again within in the same operation. Maintain an internal list of fetched URLs to avoid doing that. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14event.py: output errors and warnings to stderrEd Bartosh
All logging messages are printed on stdout when processing UI event queue. This makes it impossible to distinguish between errors and normal bitbake output. Output to stderror or stdout depending on log level should fix this. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>