aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-07-08toaster: improve scan for SDK artifactsbavery/submit/elliot/toaster/8556-image_fstypesElliot Smith
SDK artifacts were previously picked up by toaster.bbclass and notified to buildinfohelper (via toasterui). The artifacts were then added to the Build object, so that it wasn't clear which artifact went with which target; we were also unable to attach SDK artifacts to a Build if they had already been attached to a previous build. Now, toaster.bbclass just notifies the TOOLCHAIN_OUTPUTNAME when a populate_sdk* target completes. The scan is moved to buildinfohelper, where we search the SDK deploy directory for files matching TOOLCHAIN_OUTPUTNAME and attach them to targets (not builds). If an SDK file is not produced by a target, we now look for a similar, previously-run target which did produce artifacts. If there is one, we clone the SDK artifacts from that target onto the current one. This all means that we can show SDK artifacts by target, and should always get artifacts associated with a target, regardless of whether it really build them. This requires an additional model, TargetSDKFile, which tracks the size and path of SDK artifact files with respect to Target objects. [YOCTO #8556] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-07-08buildinfohelper: fix retrieval of targetsElliot Smith
When buildinfohelper records the targets for a build, it looks up any existing targets for a build and creates them if they are not present. This is because in the case of Toaster-triggered builds, the Target objects have already been created (inside triggerBuild()) and don't need to be recreated; but in the case of cli builds, the Target objects have to be created by buildinfohelper. The issue is that the code for retrieving an existing target for a build only looks for Targets with a matching target and build, e.g. Targets for build X with target "core-image-minimal". But it is perfectly legitimate to call bitbake with a command like "bitbake core-image-minimal:do_populate_sdk core-image-minimal:do_populate_sdk_ext". In such a case, the code which looks for matching targets finds two objects, as it doesn't filter by task. Add the task into the filter for the Target so that only one Target object is be returned. Note that a command line like "bitbake recipe:task recipe:task" will still cause an error as bitbake doesn't de-duplicate the command line arguments and will run the recipe:task combination twice. Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-07-08toaster: attach kernel artifacts to targetsElliot Smith
The bzImage and modules files were previously attached to a build, rather than to the target which produced them. This meant it was not possible to determine which kernel artifact produced by a build came from which target; which in turn made it difficult to associate existing kernel artifact with targets when those targets didn't produce artifacts (e.g. if the same machine + target combination was built again and didn't produce a bzImage or modules file because those files already existed). By associating kernel artifacts with the target (via a new TargetArtifactFile model), we make it possible to find all the artifacts for a given machine + target combination. Then, in cases where a build is completed but its targets don't produce any artifacts, we can find a previous Target object with the same machine + target and copy its artifacts to the targets for a just-completed build. Note that this doesn't cover SDK artifacts yet, which are still retrieved in toaster.bbclass and show up as "Other artifacts", lumped together for the whole build rather than by target. [YOCTO #8556] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-07-08toaster: improve image file suffix retrievalElliot Smith
Refactor retrieval of suffix from image file path, making it a a method on Target_Image_File. This makes it easier to use this in the build dashboard for individual images, plus reduces the complexity of the code required to get all of the image file suffixes for a build. Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-07-08toaster: do image and artifact scan on BuildCompletedElliot Smith
Move the image and artifact scan code from toaster.bbclass and consolidate its logic with the existing logic in buildinfohelper. Remove handler setup for events which used to be fired from toaster.bbclass but which are now handled directly by buildinfohelper. [YOCTO #8556] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-07-08toaster: display Target targets in build dashboardElliot Smith
The build dashboard was showing the targets for the build in the page heading and title as "Target object". Add a filter which extracts the "target" from each Target object as a string so that the heading and title display correctly. Also sort the image file suffixes alphabetically. [YOCTO #8556] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-07-08toaster.bbclass: remove directory scan logic for detecting artifactsElliot Smith
toaster.bbclass does a scan of the image deploy and SDK directories when a build finishes. However, this brings no benefit and could be better managed and made easier to modify if moved to toasterui and carried out when the BuildCompleted event occurs. Remove the image scan code from toaster.bbclass, prior to moving it to toasterui and buildinfohelper. Also remove the license manifest update code, as this can also be done from toasterui. The postfuncs for do_populate_sdk are retained, but no longer do the directory scan for SDK artifacts. Instead, they fire an event with the value of the TOOLCHAIN_OUTPUTNAME variable, as this is only accessible at the point when the do_populate_sdk and do_populate_sdk_ext tasks are run. The value of this can then be used by buildinfohelper to find the SDK artifacts produced by a target. [YOCTO #9002] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2016-07-08runqueue: improve exception loggingEd Bartosh
Runqueue errors direct the user to view the "failure below", but no additional error message is available. Log the stacktrace so that the user can see what went wrong. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2016-07-08toaster: fix typo in arguments for libtoaster.js functionElliot Smith
The function for flattening the targets of a previous build to a space-separated list references prev and next arguments which aren't in the function signature. This prevents the "Rebuild" buttons (in the most-recent build section) from working. Fix the typo so that the buttons work again. Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com>
2016-07-08toaster-tests: define capabilities for latest Firefox driverElliot Smith
For the latest Firefox versions, WebDriver requires a download of a separate binary and an additional capability to be defined on it. Modify our tests so that when "marionette" is set as the browser, this capability is defined on the Firefox driver. Also add a note to the README about the additional installation steps required. Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com>
2016-07-08toaster-tests: remove click on disabled element in testElliot Smith
On Firefox 47, attempting to click on the "Submit" button in the test which attempts to create a project with a duplicate name fails, as the button is not enabled if the name is a duplicate. This also causes the test to fail. Remove the call to the click() method which causes the test to fail. Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com>
2016-07-08terminal: Drop gnome-terminal --disable-factory workaroundsRichard Purdie
With the new pid monitoring code we have for recent versions of gnome-terminal we can just drop the --disable-factory code now since the other solution handles this case as well. (From OE-Core rev: ed4957c444a2982c19e2f1f96d9afb2a992c1daf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08terminal: Fix gnome-terminal to work with recent versionsRichard Purdie
Currently gnome-terminal just returns straight away, opening a terminal in a new separate process we have no insight into. For patch resolution, this leads to spawning many different terminal windows, for pydevshell, it just flashes a window up and then closes. We need to block until the command completes but gnome-terminal gives us no way to do this. We therefore write the pid to a file using a "phonehome" wrapper script, then monitor the pid until it exits. [YOCTO #7254] (also fixing do_devpyshell) (From OE-Core rev: 76e8ab47c936674b8bb9bf1c48de53b30f5bf74a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08pseudo: Upgrade to 1.8.1Richard Purdie
* Drop patches where the changes exist upstream * Fetch from git as no tarball is available for 1.8.1 * Move common code to pseudo.inc * Update patchset in git recipe (From OE-Core rev: 0c36984d4c501d12fa91cf7371511641585cc256) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08oe-selftest: drop test_prepare_unexpectedPaul Eggleton
This test refers to a function that no longer exists after the eSDK install double execution of bitbake has been removed, and since test_prepare_unexpected is the only test in this module, drop the entire module. We can easily resurrect it if we have unit tests to add in the future. (From OE-Core rev: 7e792a22e62904ed2dafb1ea214911235e3f3efc) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: toaster: tests Add selenium test for layerdetails pageMichael Wood
This tests: - Adding remove layer from project - Deleting layer - Editing layer fields (Bitbake rev: cabe7e2459fcd561bced2d39ba5bd173576153e5) 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>
2016-07-08bitbake: toaster: add Layer delete front end feature to layerdetailsMichael Wood
Add the front end feature to delete a layer from the layer details page. [YOCO #9184] (Bitbake rev: 91815229f60eb9deba7d299f05c69b52ff1df59c) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: toaster: api Add util function for returning the error responseMichael Wood
Also clean up flake8 warnings in XhrBuildRequest (Bitbake rev: aa0845242eda8650a97180bf6675551c26554cde) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: toaster: layerdetails api Fix saving of git revision of a layerMichael Wood
Update, clean up and move the api for updating a layerversion from the views to api. Also update the layerdetails page to include the layerversion id in the url getter. [YOCTO #8952] (Bitbake rev: 20f4e23bc86290f0a42881a7cac44c41eafa86fc) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: buildinfohelper: ensure task datetimes are timezone-awareElliot Smith
When using toaster-eventreplay to run a bitbake event file through toasterui/buildinfohelper, errors occur when the tasks are updated with buildstats info: RuntimeWarning: DateTimeField Task.started received a naive datetime (2016-07-06 09:15:22.070000) while time zone support is active. This is because a method in buildinfohelper returns a naive datetime, but Django is expecting timezone-aware datetimes. Ensure that datetimes used to set the started/ended times on tasks are converted to timezone-aware datetimes. (Bitbake rev: df9f4337bec87024ea6a43138c6080a755eb7fab) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: eventreplay: rewrite the scriptEd Bartosh
Rewritten toaster-eventreplay to make code working as expected, more compact and readable. [YOCTO #9585] (Bitbake rev: 45370a860b24a761d1b6e08ba752079cc45f54da) 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>
2016-07-08bitbake: eventreplay: reorganize importsEd Bartosh
Cleaned up module imports: - Removed unused imports - Removed import of print_function - Removed duplicated imports - Splitted importing bb.lib to 2 lines (Bitbake rev: 332f5c9b20149e9f5757433df9458ce582ff32dd) 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>
2016-07-08bitbake: eventreplay: replace MockConfigParameters with namedtupleEd Bartosh
class MockConfigParameters has only one attribute and only __init__ method. Replacing it with namedtuple makes code less nested and more readable. [YOCTO #9585] (Bitbake rev: 5d4df14b0d38f6c89ca16de6dada58b4bb015d71) 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>
2016-07-08bitbake: eventreplay: fix event loading codeEd Bartosh
Event objects are represented by base64-encoded strings in the event file and can't be loaded by existing eventreplay code. Fixed the code of loading events from file by decoding base64 strings into the binary form and loading them with pickle.load. [YOCTO #9585] (Bitbake rev: a55c280c167f84caed6518119246e5a55f56cfd4) 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>
2016-07-08bitbake: eventprelay: implement setEventMask commandEd Bartosh
Stored event mask list as self.eventmask for future use. Fixed Exception: Command setEventMask not implemented. [YOCTO #9585] (Bitbake rev: 2e09074c70e89402de8f883dd402cd729118fc7e) 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>
2016-07-08bitbake: eventreplay: add MockConnection.getEventHandle methodEd Bartosh
Fixed AttributeError: 'MockConnection' object has no attribute 'getEventHandle' [YOCTO #9585] (Bitbake rev: 6deae30480a4288da0c8b3529e61f3495f260f24) 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>
2016-07-08bitbake: toaster: fix layout for command-line builds in recent builds areaElliot Smith
Command-line builds were displayed incorrectly, so that the HTML elements for other builds were being "consumed" by the command-line build elements due to incorrect positioning of element end tags. Fix by ensuring end tags close elements in the right places. As the indentation was all over the place in the most recent builds section template, it was almost impossible to see what the problem was. So that was fixed, too. [YOCTO #9842] (Bitbake rev: 01659389813ad61d4f75b9f8d71528581322f0b0) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: bitbake-worker: don't reassign sys.stdoutEd Bartosh
Worker needs input stream in binary mode as it reads binary content from it. Current code does it by detaching a buffer from sys.stdin and assigning it back to sys.stdin. Detached buffer is io.BufferedReader in binary mode. This operation is implicit as its purpose is not easily understandable from the code. Replacing it with fdopen(sys.stdin.fileno(), 'rb') should make the code more understandable. Assigning the buffer to sys.stdin is not needed as worker doesn't use sys.stdin. Moreover, it leads to difficult to debug issues down the stack. For example, devpyshell doesn't work without reopening sys.stdin in text mode. This is not needed anymore after this fix as sys.stdin is not changed in worker code and remains in text mode. (Bitbake rev: b26bcff4c4d72775f1def7e769015464953b955c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: toaster: views Fix most frequently built target in project reportingMichael Wood
Clean up and fix the most frequently built targets for the "Most built recipes" section for the project configuration page. [YOCTO #9846] (Bitbake rev: 860475cfdd35301fb609ab3c89347566b0ca0adc) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: toaster: layerBtn avoid connecting handler to other build buttonsMichael Wood
Some pages contain other build buttons which may have the same class attached. Make sure that we only select the buttons in the tables where layerBtn is used. [YOCTO #9841] (Bitbake rev: ec083fd943c6996307beb3be3421403870d2f2b7) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: bitbake: toaster-tests: tests for project configSujith H
Add basic tests to validate the value, user types in the text box for DL_DIR and SSTATE_DIR. Added test case to validate the first char and inclusion of space between the characters. [YOCTO #9646] (Bitbake rev: 1531e98c5ae1693d11d692c3589df29dff9364df) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: toaster: fix validation checks for DL_DIR and SSTATE_DIRSujith H
Validation logic on the project configuration page prevented a user from adding ${variable} to these paths. Update validation so a user can see a better message when they type characters into the text inputs. Two types of validation are implemented. Either: * The value should start with a "/", to allow absolute paths. or * The value should start with a "$", to allow bitbake variables like ${TOPDIR}. [YOCTO #9646] (Bitbake rev: fca50153caef62a473d1812fd59ec7effe09f8c5) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: toaster: remove SSTATE_MIRRORS from projectconfSujith H
Remove SSTATE_MIRRORS from getting blacklisted. Hence the SSTATE_MIRRORS should be removed from projectconf.html file so that users can know that this variable is no more blacklisted. [YOCTO #9598] (Bitbake rev: b060eecae417521d8340748e7ace7a77488bd596) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: toaster: remove SSTATE_MIRRORS from blacklists in viewsSujith H
Remove SSTATE_MIRRORS variable from blacklists in views.py This helps user to point mirrors using SSTATE_MIRRORS with toaster. [#YOCTO 9598] (Bitbake rev: c3dd4fb193c80ed9a6dbddf7f6a1eadd0964ac8c) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: progress: Ensure missing start event is firedRichard Purdie
The init function of the parent class fires a progress event for 0 progress rather than a start event. UI code was assuming that progress events should always have a start event first. This change ensures that the start event is correctly generated. This fixes crashes that were seen in knotty in some configurations. (Bitbake rev: 9841651e050a3e9f395ab3c62545c51197734584) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: knotty: Handle process indicators more gracefullyRichard Purdie
Mistakes can happen with the generation of the progress events, change knotty to be more tolerant of this rather than crashing, reporting to the user when something unexpected happens. I haven't debugged why multiple finish events appear to be triggered. (Bitbake rev: 7dd06b1016b36420a9c55a45ff29dd64ae1dbcda) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: runqueue: report progress for "Preparing RunQueue" stepPaul Eggleton
When "Preparing RunQueue" shows up you can expect to wait up to 30 seconds while it works - which is a bit long to leave the user waiting without any kind of output. Since the work being carried out during this time is divided into stages such that it's practical to determine internally how it's progressing, replace the message with a progress bar. Actually what happens during this time is two major steps rather than just one - the runqueue preparation itself, followed by the initialisation prior to running setscene tasks. I elected to have the progress bar cover both as one (there doesn't appear to be much point in doing otherwise from a user perspective). I did however describe it as "initialising tasks". (Bitbake rev: 591e9741e108487ff437e77cb439ef2dbca42e03) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: runqueue: add ability to enforce that tasks are setscenedPaul Eggleton
Add the ability to enter a mode where only a specified whitelist of tasks can be executed outright; everything else must be successfully provided in the form of a setscene task (or covered by a setscene task). Any setscene failure outside of the whitelist will cause the build to fail immediately instead of running the real task, and any real tasks that would execute outside of the whitelist cause an immediate build failure when it comes to executing the runqueue as well. The mode is enabled by setting BB_SETSCENE_ENFORCE="1", and the whitelist is specified through BB_SETSCENE_ENFORCE_WHITELIST, consisting of pn:taskname pairs. A single % character can be substituted for the pn value to match any target explicitly specified on the bitbake command line. Wildcards * and ? can also be used as per standard unix file name matching for both pn and taskname. Part of the implementation of [YOCTO #9367]. (Bitbake rev: 624722c067a7fdd0c0f5d8be611e1f6666ecc4a2) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: knotty: add quiet output modePaul Eggleton
Quiet output mode disables printing most messages (below warnings) to the console; however these messages still go to the console log file. This is primarily for cases where bitbake is being launched interactively from some other process, but where full console output is not needed. Because of the need to keep logging all normal events to the console log, this functionality was implemented within the knotty UI rather than in bb.msg (where verbose mode is implemented). We don't currently have a means of registering command line options from the UI end, thus the option actually has to be registered in main.py regardless of the UI, however I didn't feel like it was worth setting up such a mechanism just for this option. (Bitbake rev: db95cdef08e339dec7462bfde3ad7d75c1c60dd8) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: knotty: show task progress barPaul Eggleton
In addition to the "currently running n tasks (x of y)" message, show a progress bar for another view on how much of the build is left. We have to take care to reset it when moving from the scenequeue to the runqueue, and explicitly don't include an ETA since not all tasks take equal time and thus it isn't possible to estimate the time remaining with the information available. (Bitbake rev: de682015a3fefeff36ddc4197641a700f3fb558d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: knotty: add code to support showing progress for sstate object queryingPaul Eggleton
Add support code on the BitBake side to allow sstate.bbclass in OpenEmbedded to report progress when it is checking for availability of artifacts from shared state mirrors. Part of the implementation for [YOCTO #5853]. (Bitbake rev: 070ae856da0715dbaf4c560c837ea796ffc29f00) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: lib/bb/progress: add MultiStageProgressReporterPaul Eggleton
Add a class to help report progress in a task that consists of multiple stages, some of which may have internal progress (do_rootfs within OpenEmbedded is one example). Each stage is weighted to try to give a reasonable representation of progress over time. Part of the implementation for [YOCTO #5383]. (Bitbake rev: 751b75602872a89e8b1a7c03269bc0fdaa149c6f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: lib: implement basic task progress supportPaul Eggleton
For long-running tasks where we have some output from the task that gives us some idea of the progress of the task (such as a percentage complete), provide the means to scrape the output for that progress information and show it to the user in the default knotty terminal output in the form of a progress bar. This is implemented using a new TaskProgress event as well as some code we can insert to do output scanning/filtering. Any task can fire TaskProgress events; however, if you have a shell task whose output you wish to scan for progress information, you just need to set the "progress" varflag on the task. This can be set to: * "percent" to just look for a number followed by a % sign * "percent:<regex>" to specify your own regex matching a percentage value (must have a single group which matches the percentage number) * "outof:<regex>" to look for the specified regex matching x out of y items completed (must have two groups - first group needs to be x, second y). We can potentially extend this in future but this should be a good start. Part of the implementation for [YOCTO #5383]. (Bitbake rev: 0d275fc5b6531957a6189069b04074065bb718a0) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: knotty: import latest python-progressbarPaul Eggleton
Since we're going to make some minor extensions to it, it makes sense to bring in the latest version of python-progressbar. Its structure has changed a little but the API hasn't; however we do need to ensure our overridden _needs_update() function's signature in BBProgress() matches properly. (Bitbake rev: c3e51d71b36cbc9e9ed1b35fb93d0978e24bc98a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: knotty: provide a symlink to the latest console logPaul Eggleton
If you're looking to find the latest console log repeatedly it can be a bit tedious - let's just create a symlink just as we do with other logs to make it easy to find. (Bitbake rev: e9f41c0507a6527bf2ed86506813d4d4a89f8ebf) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08bitbake: fetch2/wget: attempt checkstatus again if it failsRoss Burton
Some services such as SourceForge seem to struggle to keep up under load, with the result that over half of the autobuilder checkuri runs fail with sourceforge.net "connection timed out". Attempt to mitigate this by re-attempting once the network operation on failure. (Bitbake rev: 54b1961551511948e0cbd2ac39f19b39b9cee568) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08oeqa/selftest/bbtests: Fix failing test after progress changesRichard Purdie
The progress patches change the output slightly, update the test to deal with this. (From OE-Core rev: 90dbd838fa97c89ace5cb147aa5cff39b94178b1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08oeqa/runtime/systemd: fix typo in skipUnlessPassed decoratorRoss Burton
(From OE-Core rev: f0420d8c934154a94957cabcfdc993f0eae92cd7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08service: obey CFLAGS, LDFLAGSChristopher Larson
(From OE-Core rev: 8a227125991951c1ddd44bec0b6243474ebc363a) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08initramfs-framework: Add support for PartUUIDsIgor Stoppa
The rootfs can be addressed also by referring to the PartUUID value from the GPT. This patch enables such type of reference. (From OE-Core rev: 1ab2ca141d3defe4b80212e28ac7c3f2271e2515) Signed-off-by: Igor Stoppa <igor.stoppa@intel.com> Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>