summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
AgeCommit message (Collapse)Author
2014-03-10bitbake: runqueue: Use SIGCHLD instead of polling waitpidRichard Purdie
Instead of a significant number of calls to waitpid, register a SIGCHLD handler instead. (Bitbake rev: 76029d08ad56a0a264ff9738a0336971a455b7f5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: server/process: Optimise latency when finishing idle functionsRichard Purdie
When idle functions finish, its likely we have some other work to do, so don't sleep in the select call but instead, skip it. This removes small amounts of latency in common commands. (Bitbake rev: 069d6538f83b607cb46c6fe21bf6c596e8b99242) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: server/process: Drop unnecessary exit delayRichard Purdie
When the server exits, we no longer appear to need this delay. This is likely due to improvements in the various exit codepaths. There is therefore no longer any point in taking the latency hit. (Bitbake rev: 8e75ee29ae07e13f23525c5c6045fbf6cdbe7675) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: server/process: Use a pipe for quit events instead of Event()Richard Purdie
Its not possible to notice the change of status of an Event() in the select call we sleep in. It would be possible in python 3.3 but for now use a pipe instead. This removes small latency when bitbake commands finish since the system doesn't sit in the select call. (Debugging these kind of issues is apparent by setting a long sleep for the select call) (Bitbake rev: def28239b0f0d5f1cf13214b263114a5328538b7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: knotty: Remove latency when exitingRichard Purdie
There is no point in waiting 0.25s for when we should be processing the shutdown. This simply reordering removes latency from the bitbake command. (Bitbake rev: f147b41bcaf9d05b5ba3a70100f1ca799979aee7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: knotty: Add missing continue statement for runQueueExitWait eventRichard Purdie
The continue statement was missing for this event and the event was then listed in the "known safe to ignore list". Clean this up. (Bitbake rev: c4ee342300bf905e6e3bef581c61b86289461536) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: providers/runqueue/taskdata: Optimise logger.debug callsRichard Purdie
A run of "bitbake bash -c unpack" when the task has already been completed resulted in about 9000 calls to logger.debug(). With this patch which comments out some noisy/less usefull logging and moves other logging calls outside loops, this number is reduced to 1000 calls. This results in cleaner logs and gives a small but measurable 0.15s speedup. The log size dropped from 900kb to 160kb. (Bitbake rev: d2677f084fe1d8846db77d89ef5e6ffb18dc171a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: cooker: Handle SIGTERM more gracefullyRichard Purdie
If the cooker receives a SIGTERM it currently hangs using 100% CPU, This patch adds in an intercept for the event and puts the cooker into shutdown mode allowing it to exit cleanly/safely and avoiding the hang. (Bitbake rev: 00c22434123739b0819b31d7b1d353901a3e12da) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: server/process: Deal more gracefully with SIGTERMRichard Purdie
Currently a SIGTERM to the UI process causes the UI simply to lock up. By setting an exit flag, the waitEvent can raise a SIGINT, allowing the UI to break out the event loop and exit. Currently this is results in a traceback but that is more desirable than a hanging process. (Bitbake rev: 0d12041eceeae6bba2034b04913bb13abd67bd15) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: server/process: Use the setFeatures command on the server instead ↵Richard Purdie
of a manger The use of a manager in the process server causes some issues since it remains around for the lifetime of the server even though its only used during initialisation and the system doesn't respond well to SIGTERM events to the extra process (and two threads) the implementation involves. Switching to a dedicated command simplifies the server process structure. (Bitbake rev: 74532a7cf8ccea8b85f1cda5d5bc23d2f3c72a08) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: cooker/command: Add setFeatures commandRichard Purdie
Add a command to allow backends to set particular 'features' on the cooker (server). (Bitbake rev: f547d6ec6cfd677d71fa96dd3c69823c00dc6c69) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: runqueue.py: Gracefully handle a missing worker processRichard Purdie
If the worker has already gone missing (e.g. SIGTERM), we should gracefully handle the write failures at exit time rather than throwing ugly tracebacks. (Bitbake rev: 1b1672e1ceff17fc4ff8eb7aa46f59fce3593873) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: runqueue.py: Handle worker disappearing gracefullyRichard Purdie
If the worker (or fakeworker) process disappears for some reason, the system doesn't currently even notice. To fix this, we call waitpid periodically, looking for exit events of our children. If these occur, we can gracefully shutdown the server. (Bitbake rev: ee28ddadaa7ef91e4d4b7d22fc267382aaad6d01) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-10bitbake: knotty: Deal with exceptions not resetting terminal configurationRichard Purdie
When an exception occurred, the terminal parameters (such as echo) may not be reset correctly. This change ensures they do get atexit time in all cases, avoiding the terminal corruption issues that could sometimes occur. (Bitbake rev: e1d89166f2dfe46412ff9a5610dd57b0cef74fe3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toasterui: fix task identificationAlexandru DAMIAN
This patch adds extra checks when selecting and writing task and recipe objects to the database. The patch fixes several issues where tasks may have been misidentified between virtual-native and target tasks, or spurious task objects may have been created. (Bitbake rev: a6e597e690b3c6c6fa2af6db8cd871c02fc80421) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: fix issues in the build tableAlexandru DAMIAN
This patches fixes minor issues in the sorting functionality of the build table. [YOCTO #5455] (Bitbake rev: 47196039bd8bac2eddb1c19ad4fc2e285dc23ee3) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toasterui: fix status update on failed sstate tasksAlexandru DAMIAN
This patch fixes a logical error when updating task information based on the corresponding sstate task state. (Bitbake rev: 777458a20a7f686881e525a4d81b286c486ead6a) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: update database schemaAlexandru DAMIAN
This patch updates the database schema to resolve a number of issues discovered while implementing the UI interface. We do not expect that all the data will come in valid at this point. [YOCTO #5453] [YOCTO #5833] [YOCTO #5836] [YOCTO #5811] [YOCTO #5812] [YOCTO #5820] (Bitbake rev: f8ad96d10a095e21fd2ce424c45e17f54642fb54) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Move long content toggle to main.jsBelen Barros Pena
I have move all javascript needed for toggling very long values for bitbake variables to main.js. I have changed the names of the classes involved to make them more generic, since I hope we'll be able to reuse them in other parts of the Toaster interface. .full-variable is now .full .full-variable-hide is now full-hide .full-variable-show is now full-show I have also removed all the inline scripting in base.html, since it is no longer needed. (Bitbake rev: 73828f047385ced160c7900cad24535aa8d325cd) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: implement the configuration pagedreyna/configure-detail-viewDavid Reyna
Update the configuration page with the file list pop-up, implement the file and description filters. [YOCTO #4259] (Bitbake rev: 54a767809960b66b2fe2d3bc46aa9c7e040c4ae3) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: View detailed information about a taskRavi Chintakunta
Information about a task is displayed depending on it's execution status and outcome status. Edited to iterate through all possible entries for related setscene tasks. [YOCTO #4282] (Bitbake rev: 62f502b1237d4060df6be1ee4f4865db5fa39a6a) Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Bug fix in reload page with parametersRavi Chintakunta
Fix the bug in reload_params function that was failing when the page URL did not have any parameters. (Bitbake rev: 8cba40daf521d1740687f9a030f8472f980a4563) Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Fix breadcrumb date format in detail pagesBelen Barros Pena
The template basebuilddetailpage.html had the completed on date in the breadcrumb set to naturaltime. Changed to d/m/y H:i to match the date format in the basebuildpage.html template, so that breadcrumbs display the same date format across all pages. (Bitbake rev: 188c12901c9573285956cded76f27a0d6330c82e) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Sort packages and dependencies in recipe.htmlBelen Barros Pena
The tables in the Packages, Build dependencies and Reverse build dependencies tabs in the recipe details pages (template recipe.html) should be sorted by package name and recipe name respectively. This change adds the sorting. (Bitbake rev: ff6c448c7b5bc7bf4fe75e15e66c4e02f07f7618) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Change popover headings in recipes tableBelen Barros Pena
In the recipes table, dependencies and reverse dependencies are shown inside a popover. The popover headings did not match the table headings, so changed to "dependencies" and "reverse dependencies" as per the design spec. (Bitbake rev: 05f19e5cd8cca48e6e52f4b3ea1cd25d2ba4ac1c) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Change help text for SectionBelen Barros Pena
The help text for the Section information in the recipes table and the recipe details page said "packages" instead of recipes, and it said there were 5 possible values for the SECTION variable (which is not true). Changed to "The section in which recipes should be categorised" (Bitbake rev: 984273e07126674c674ad8b400418117ae087860) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Hide the applied filter tooltip on clickBelen Barros Pena
When you apply a filter, we show you a tooltip on hover that tells you which filter you have applied and allows you to clear it quickly. That tooltip does not disappear straight away if you click on the filter button: it hangs in there because the tooltip has a delay specified on hide. The effect is quite annoying. This change to main.js makes sure the tooltip disappears when you click the filter button. (Bitbake rev: 5928d2f3cba4524966a34d8c845a04627b9b310b) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Add .muted class to disabled checkboxesBelen Barros Pena
In the edit columns menu, the checkboxes for the columns in the minimum table are disabled. To better communicate visually the disabled state, this change applies the .muted class to the labels of those checkboxes. (Bitbake rev: 125a3da654ac7742a93ac93f4f23336ecd251a61) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Set the right styles for definition listsBelen Barros Pena
In the task details page, our labels are quite long and the default width of the dt elements in the .dl-horizontal class is too small. Changing the width to 200px, and the left margin of the dd element to 220px. Changing the bootstrap.min.css file is not ideal (ok, is a pretty bad hack), but it is the only way to keep the nice responsive styles for those definition lists. (Bitbake rev: 1e655eb121173b4441a9a4e9005fe8c1f235dfbb) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Set correct string for missed sstate attemptsBelen Barros Pena
Replace 'Missed' with 'File not in cache'in models.py (Bitbake rev: cb76a1d39ce36a36dc398a0422bcfac1c72f9c2b) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: Remove inline styles in h1Belen Barros Pena
The templates bpackage.html, recipes.html and build.html included an inline style declaration in the div containing the h1 tag to add a top margin of 40px. The extra top margin is unnecessary in bpackage.html and recipes.html, but nicely separates the Recent builds and All builds sections in build.html. The changes remove the inline style declaration and create a .top-air class in default.css to include the extra top margin when needed, i.e. in the build.html template. (Bitbake rev: 2841f0740024a8351606452a5f803b9b7f70c783) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: extend Tasks to include Time, Disk IO, and CPU UsageDavid Reyna
Update the All Tasks page to also cover the Time, Disk I/O, and CPU Usage pages. Add filter count header support, and fix minor column enablements. [YOCTO #4387] (Bitbake rev: 7e78836ebbddf0240094fd79a18cb057d6c4f322) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toasterui: add asserts on expected valuesAlexandru DAMIAN
We add assert statements that validate expectations of correct values and context when the data collection code is running. These checks will help pinpointing unexpected data or call flows, reducing debugging time. Also contains a couple of very small fixes discovered through these checks, including a virtual:native conflict with regular tasks. [YOCTO #5553] (Bitbake rev: e2fbd5c6fa6b53514e2cb23d42aa639020d8a475) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toasterui: task data structure in toasteruiAlexandru DAMIAN
We update the structure used to hold interm task data, before it is written to the database, to lower the changes of key collision. This will also lead to a cleaner data structure and easier inspection. (Bitbake rev: 49cb9f543526a161bc4c097f94422ea08b491ef9) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: bb/ui: store_dependency_information optimizationMarius Avram
This optimization is in support of the bug #5485. The function called at the beginning of every build: store_dependency_information was taking approximately 20sec and it was delaying the arrival of events from the event queue. The change minimizes the calls to _save_a_task(), reducing the time to half. (Bitbake rev: b86fd2be40303d886fdb9ad3009355584d285acc) Signed-off-by: Marius Avram <marius.avram@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: array-assignment fix from ChomeAlexandru DAMIAN
Apparently the JS engine in Chrome can't handle assignments to an array, so I'm patching this up by using an intermediate array to hold the values. (Bitbake rev: 47f5fde1bd8cf2e6f7e5c4ec2534a2f9599c4ea2) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toaster: mark dependency packagesAlexandru DAMIAN
We need to mark the package entries that are created solely for dependency tracking purposes. In order to avoid altering the database schema, we mark the dependency targets with size = -1, since this is not a valid size anyway and makes for easy filtering. [YOCTO #5803] (Bitbake rev: d11ed273dd6c520b16e9ccfe79476f340006a55d) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toasterui: adding new task outcome emptyAlexandru DAMIAN
In order to separate tasks with invalid states from the no exec tasks, we add a new value OUTCOME_EMPTY for the tasks. OUTCOME_EMPTY has the same value as OUTCOME_NA as to maintain compatibility with already existing builds. New value for OUTCOME_NA can be used to detect tasks with invalid states, i.e. it should never appear after finishing a build. Fixing noexec tasks outcomes. [YOCTO #5763] (Bitbake rev: 475643ad78796835bf2e731b9d0fa5794ec80dd1) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: toastergui: fix task executed status displayAlexandru DAMIAN
The proper way to get a display-able value in Django is to use a model method instead of clutter the template with if/else. [YOCTO #5641] (Bitbake rev: bb21b71dab70db163b804c7ebf27b85c59a39112) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-09bitbake: fetch2/wget: Fix downloadfilename functionalityRichard Purdie
Some of the previous cleanups broke the downloadfilename functionality. This change fixes the code to ensure the commandline is correctly built. Thanks Kristof Robot <krirobo@gmail.com> for reporting the issue. (Bitbake rev: e008d9bb07e5d1a3584cc04ca2cd3dd906fd5759) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-06bitbake: runqueue: Fix typoRichard Purdie
slef.self is clearly meant to be self, fix typo. Otavio spotted and reported, thanks. (Bitbake rev: 316daad7928a58cdfc42e27b20e739f4dd74a02a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-06bitbake: data: add vardepvalueexclude varflagPaul Eggleton
On rare occasions it's useful to be able to exclude a part of a variable's value from the variable's signature; for example if you want to add an item to a list sometimes and not have the signature of the variable change depending on whether the item is in the list or not. The initial intended use case for this in OpenEmbedded is to allow adding a function to SSTATEPOSTINSTFUNCS in buildhistory.bbclass and not have that change any task signatures (so adding and removing INHERIT += "buildhistory" won't lead to any rebuilds). Part of the fix for [YOCTO #5897]. (Bitbake rev: f803bf8cfefafcbe212442e66b301ccd9c5aa2a5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02bitbake: fetch2: Drop svk fetcherRichard Purdie
The svk fetcher never appears to be used by anyone and the development on svk appears to have stopped in 2010. We might as well drop support for it. (Bitbake rev: 8239264753977bd06ad5b1b574245d3842af489b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02bitbake: codeparser: Fix var_execs to append to execs, not referencesRichard Purdie
When using the "execs" information in new code, it became clear that the returned data was incorrect and there were missing exec'd functions. This corrects the error and changes one of the test results to match the correct behaviour. (Bitbake rev: 8a24f2d3b735bbc59ca4a09670cabbadb1868c1a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02bitbake: fetch/wget: Separate out download and checkstatus functionsRichard Purdie
These two functions have little in common, separate them out. (Bitbake rev: 7413e0fa4dca9571ea98f32dab87d4fd60bc8de9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02bitbake: fetch/wget: Start to clean up command constructionRichard Purdie
Start to clean up wget fetcher command construction to allow clearer and more extensible code structure. Drops support for ${URI} and ${FILE} directly in the commands. (Bitbake rev: 4e59fe45be2088996abc21e9a631a32b9a9642c9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02bitbake: wget: Drop usage of old style *COMMAND variablesRichard Purdie
These variables were dropped from OE-Core some time ago, drop their usage from the fetcher as well. (Bitbake rev: bd33e709ab65d6966b234010641861834d170e2b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02bitbake: fetch/svk: Drop usage of old style *COMMAND variable and MKTEMPDIRCMDRichard Purdie
Clean up some horrible old code and drop usage of the old style *COMMAND variable and MKTEMPDIRCMD whilst in here. This means we don't need to touch OVERRIDES either. (Bitbake rev: c127bb3a9b7b1d2ab2c833ff73186b6ead0dc29c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02bitbake: fetch/perforce: Drop usage of old style *COMMAND variable and ↵Richard Purdie
MKTEMPDIRCMD Clean up some horrible old code and drop usage of the old style *COMMAND variable and MKTEMPDIRCMD whilst in here. This means we don't need to touch OVERRIDES either. (Bitbake rev: 6b79789769da160d0e7fca0f9c6044dc1e11a107) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02bitbake: fetch/git: Separate out an ls-remote functionRichard Purdie
There is other code which can want to run ls-remote style commands with different parameters so split out the function. (Bitbake rev: 13f1138f5504feee0ee8e8f3a0675d0bea490351) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>