summaryrefslogtreecommitdiffstats
path: root/bitbake
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: bitbake-user-manual-fetching.xml: note about URLs with semi-colonsJuro Bystricky2015-08-011-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | Some URLs contain semi-colons. Unfortunatelly, bitbake uses semi-colons in SRC_URI as delimiters for various parameters. It may still be possible to use such URLs, providing the user replaces semi-colons ';' with '&' characters. For example: http://abc123.com/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47 and http://abc123.com/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47 should be equivalent, as W3C recommends treating ';' in queries identically to '&'. See http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2 Kudos to Olof Johansson (Bitbake rev: d8953c16c52c6e5de879f4a32ec8aeee396bb410) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toaster: Add is_image field to the Recipe modelEd Bartosh2015-08-012-0/+341
| | | | | | | | | | | | | | | | | Added new field is_image to the Recipe model. Made sure is_image is populated when layer sources are imported. Made sure the change doesn't break loading old style layer sources. Tested by loading data from layers.pythonanywhere.com and from layers.openembedded.org. [YOCTO: #7571] (Bitbake rev: 3ac0ba73790b8f68567daa2de313c78053411fbb) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toaster: Uncomment logging messagesEd Bartosh2015-08-011-3/+3
| | | | | | | | | | | Uncommented debug and warning messages in _shellcmd method of LocalhostBEController as they seem to be useful for debugging. (Bitbake rev: 9446f02520a3bee4417908d8da2ab1848f4759c3) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toaster: get rid of _createdirpath functionEd Bartosh2015-08-011-12/+7
| | | | | | | | | | | Replaced call of recursive _createdirpath method with simpler call of os.makedirs. (Bitbake rev: 018442e2645390342d43a95a8685e51b29ea868a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toaster: Fix usage of wrong variablesEd Bartosh2015-08-011-4/+4
| | | | | | | | | | | | | Replaced nonexistent variable 'be' with self in models.py/BuildEnvironment methods. Fixed typo: BuildRequest.TYPE_LOCAL -> BuildEnvironment.TYPE_LOCAL (Bitbake rev: ed6094f78c75aab776a82967101d9c57e38e2c4d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toaster: Wait for toaster gui to comeEd Bartosh2015-08-012-1/+2
| | | | | | | | | | | | | | | Set logging level for the Toaster logger to get messages to toaster_ui.log Reverted previous workaround. [YOCTO: #7965] (Bitbake rev: f1d8e0ff7233f17cff3a56db10d2443b392b407d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toastergui: Toastertables don't replace dash in cache keyMichael Wood2015-08-011-2/+2
| | | | | | | | | | | | | The dash character was being stripped from the cache key when we sanitise it for the memcache backend. This meant that we were getting a false hit on the cache and returning non descending results which are indicated by the dash prefix on the field name. (Bitbake rev: 18743274a94966d2cd8d17d163e4dbab501a8a52) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: toastergui: run pylint on the toaster filesAlexandru DAMIAN2015-08-011-0/+6
| | | | | | | | | | | | This patch enables pylint running on the toaster files, showing only the errors. This enables spotting common mistakes in the toaster python files. (Bitbake rev: d2e69721233ab3cbbc3bdd6a1c198fde8a1f287e) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: execute tests in numeric orderAlexandru DAMIAN2015-08-012-7/+10
| | | | | | | | | | | | | | | | | | | As the tests are verifying different type of the functionality, it is usually the case that a failing early test will completely make the subsequent tests failing, e.g. if the system cannot start due to a bug, there is little point in testing other functions. In order to prevent uneeded test runs, and to generate repeatable test patterns, the test cases have now a numeric order in the class name (e.g. Test01XXX). The tests are executed in this order, and the first test failing will stop the test run. (Bitbake rev: 639c46a08e524902018e28367fcb4e26362cd3e3) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: make sure to import dataAlexandru DAMIAN2015-08-011-1/+2
| | | | | | | | | | | | | | Importing data from the layer index should be part of the setup because otherwise we have no reliable database configuration. This patch selects the first option for importing the database configuration file. (Bitbake rev: 86a69d294ace41bd109db97b753554ccc8f3dac0) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: delete the database only if createdAlexandru DAMIAN2015-08-011-1/+3
| | | | | | | | | | | | To allow the tests to run on different databases (in case of manual runs), the HTML5 test will only delete the database file if it was created in the setUp. (Bitbake rev: 2b04165f6a70fad5beb8e4c7053a2b2053a51cde) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: delete pyc files before the tests startAlexandru DAMIAN2015-08-011-0/+4
| | | | | | | | | | | | | There may be leftover *.pyc files from previous code runs in the current checkout directory, so we delete everything before starting the tests, to make sure that we actually testing the current checkout. (Bitbake rev: db29ef9ab23c9f083e9aa175b28430f122f35a84) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: fix startup and cleanup for managed modeAlexandru DAMIAN2015-08-012-3/+5
| | | | | | | | | | | | | This patch fixes the toaster startup and database cleanup for managed mode. It is needed because the toaster script thinks it has been called with "source" instead of being executed as independent script if not called through bash. (Bitbake rev: f08ce41f1137f268049ef8345462aa58b233e50b) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: improve logging in urlcheck.pyAlexandru DAMIAN2015-08-011-1/+8
| | | | | | | | | | | | This patch improves logging in the urlcheck.py. It allows properly running just HTML5 tests outside the test suite. (Bitbake rev: 91566d2ea8ca5a696ce742b9e5e3b7b6c10c200c) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: improve debugging informationAlexandru DAMIAN2015-08-011-1/+12
| | | | | | | | | | | | We add debug information, and exception handling as to make it easy to figure out what is going on when tests fail on automatic start. (Bitbake rev: d7c5989b795566f8611208b26851871abccf9578) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster tests: gitignore and use absolute path for log fileAlexandru DAMIAN2015-08-011-2/+2
| | | | | | | | | | | | | gitignore the cache directory created by the http client the log file for tests is already set up as an absolute path, so no need to recompute the path (Bitbake rev: 80f525e5cbe83e0407ecddf84401d68213c6d5cf) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: clean up HTML5 compatible url listAlexandru DAMIAN2015-08-011-7/+0
| | | | | | | | | | | | | This patch cleans up the list of URLs that are tested for HTML5 compatibility using the w3c-validator. It removes the URLs that are no longer in use, and the AJAX-only URLs that return JSON content. (Bitbake rev: c85a35e37150ee8be091bd142cac8a1885f1dff0) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tts: fix pylint warningsAlexandru DAMIAN2015-08-019-210/+208
| | | | | | | | | | | | | | | | | | | This patch brings TTS to the pylint coding standards. Pylint was run with some disables: disable=logging-too-many-args,line-too-long,missing-docstring and achieved Your code has been rated at 10.00/10 There are no functional changes. (Bitbake rev: 2b40b412ff6a7e3fd4cc32707bd3cd713bc09ddb) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toastergui: Remove angularJS and projectapp based on angularMichael Wood2015-08-017-1273/+0
| | | | | | | | | | AngularJS proved unsuitable for the new project page implementation. (Bitbake rev: 6f25846dbcaf007f58f9a32e58dcd564f6430fe9) 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>
* bitbake: toastergui: project page Add inline project name change featureMichael Wood2015-08-012-1/+39
| | | | | | | | | | | | | This feature allows the project name to be changed from where ever it is displayed in the project pages. [YOCTO #7329] (Bitbake rev: 81cb1cd1aa900f29a25d14dce93d301cd6b6fdb7) 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>
* bitbake: toastergui: layerBtn use libtoaster for change notificationMichael Wood2015-08-012-9/+2
| | | | | | | | | | Use the common functionality for change notifications. (Bitbake rev: 79af72e1b80b033a37992095b2e97449de5ebd8b) 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>
* bitbake: toastergui: newbuildbutton Fix removed elementsMichael Wood2015-08-011-1/+3
| | | | | | | | | | | | | All the elements for the new build button need to be present for the build button to work. Now that the template variables all have to have values we have to make sure that the elements are still added to the dom for the js to manipulate them. (Bitbake rev: e2ab67eaf76da9ee2009e8420d5584c3daa97ac1) 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>
* bitbake: bitbake: toastergui: newbuildbutton Fix typo on project save functionMichael Wood2015-08-011-1/+1
| | | | | | | | | | project.id rather than project.pk. (Bitbake rev: 047df808203f3779243eb88c069757f7a7b7bbed) 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>
* bitbake: toastergui: Change build button popover to a build-buttonMichael Wood2015-08-012-8/+11
| | | | | | | | | | | | To share the build-button mechanism from the pop over and project topbar build button we now use a build-button class to reference them and share the event handlers. (Bitbake rev: e3c6a00b848a6f147e93c8da46b8a3516499fde8) 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>
* bitbake: toastergui: base Use removeAttr / attrMichael Wood2015-08-011-5/+7
| | | | | | | | | | | Use removeAttr and attr calls to enable and disable the build button and build input field. (Bitbake rev: c3753948bd00c3498ca3e76cb218eb6cf423c3e3) 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>
* bitbake: toastergui: Fix Duplicate layer importlayer api callsMichael Wood2015-08-011-7/+7
| | | | | | | | | | | | As the JSON response changed the duplicate layer functionality wasn't wasn't working as the field names in the returned data changed. This patch brings the field names back in sync with the response. (Bitbake rev: bdea86ae8720ee5792a5617c6073d51922a224ff) 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>
* bitbake: toastergui: libtoaster: Add guard against missing name propertyMichael Wood2015-08-011-1/+8
| | | | | | | | | | | Add a debug warning if a JSON payload isn't compatible. i.e. without a name field. (Bitbake rev: e65de693670203ddcbf5f23ad2a91c523df879d8) 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>
* bitbake: toastergui: libtoaster Make sure we always pass format=jsonMichael Wood2015-08-011-0/+1
| | | | | | | | | | | The new API for typeahead requires that we pass this parameter in to make sure we get a JSON response. (Bitbake rev: 2f8951d6e640d86f605b082aab4a950dab9065ad) 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>
* bitbake: toastergui: css Remove redundant css rulesMichael Wood2015-08-011-5/+0
| | | | | | | | | | | The machine change notification animation is no longer required in favour of the global overlay notification. (Bitbake rev: aef36f2674d3d82b1757c02ffbf8b72fd4f32a4e) 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>
* bitbake: toastergui: Add new project page and navigationMichael Wood2015-08-0112-476/+610
| | | | | | | | | | | | | | | This brings in the new project page design and improved navigation. As this also removes the dependency on Angular it also required that the entry points to the project page such as machine-change notifications are also updated. [YOCTO #7329] (Bitbake rev: 6489e6eb5c3b0d59063b6d60521fc33fe563e707) 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>
* bitbake: toastergui: css Add new rules for new project pageMichael Wood2015-08-011-0/+18
| | | | | | | | | | Add new css rules needed for new project page. (Bitbake rev: 6457d8fa30ac2b9b7413b8e9a7c5806bace10141) 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>
* bitbake: toastergui: http api Add guard against incomplete change requestsMichael Wood2015-08-011-2/+10
| | | | | | | | | | | | If we get a request to the project change api which either contains the current configuration (i.e no change) or empty configuration handle this gracefully. (Bitbake rev: cc6c606c07baadc849c3290b23c56ad4e719fba2) 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>
* bitbake: toastergui: tables Add name field to layers tableMichael Wood2015-08-011-0/+5
| | | | | | | | | | | This field is required by the typeahead in the new project page to do the name matching on. (Bitbake rev: dbce3b43094b0a123b0d63aa07cc4f9547630094) 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>
* bitbake: toastergui: libtoaster Add show change notification functionMichael Wood2015-08-011-0/+8
| | | | | | | | | | | Now that we have a change notification that is global move this functionality to libtoaster for shared use. (Bitbake rev: 9d760462de99cb8729b7e0db773e77d4cd508733) 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>
* bitbake: toastergui: Standardise the layer object property layerdetailurlMichael Wood2015-08-019-15/+28
| | | | | | | | | | | | To be able to use the utility functions in libtoaster we need to have a single property name for the value that represents the url for the layer details in the layer object. (Bitbake rev: 4d64fd0d1236d342b29537f601a68cd23a8255ea) 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>
* bitbake: toastergui: Remove erroneous CSS propertyMichael Wood2015-08-011-1/+0
| | | | | | | | | | Remove a CSS property value which is missing a corresponding key. (Bitbake rev: 770008f8ff3f8aa4f90636621a4162d676a71da7) 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>
* bitbake: toastergui: importlayer Add format type to JSON callsMichael Wood2015-08-011-12/+16
| | | | | | | | | | | | After API was changed we now need to pass the parameter "format=json" as a get parameter when requesting a json payload. Otherwise we get the html version of the page instead of the data we need. (Bitbake rev: 4545c21b70998bd240c3a21de05e8d4642044119) 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>
* bitbake: toastergui: base Fix html indentationMichael Wood2015-08-011-120/+120
| | | | | | | | (Bitbake rev: 37364e671ad1897bef818239a8e289b3d4c93925) 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>
* bitbake: toastergui: Implement new project navigationMichael Wood2015-08-0119-145/+180
| | | | | | | | | | | | | Change the structure of the project page to include a navigation menu and top tab navigation. Remove old breadcrumb method. [YOCTO #7329] (Bitbake rev: 66fa0dd988e01ec79e74be7a5697eaa3b4f017d8) 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>
* bitbake: toastergui: Implement new top navigation designMichael Wood2015-08-014-20/+32
| | | | | | | | | | | | | Additional items for top level navigation. This is part of a wider navigation redesign. [YOCTO #7329] (Bitbake rev: 456a4a6782d3098cc9abb39659a619fdcf52eb01) 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>
* bitbake: wget.py: fix incorrect regexesAlexander Kanavin2015-08-011-2/+2
| | | | | | | | | | | [\.-_] means "any character between . and _" What was meant here is certainly "any character from the three characters .-_" (Bitbake rev: af13eaba627f199f91c048c435b9dbe19c79527f) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: properly fix bitbake.lock handlingRichard Purdie2015-08-016-30/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the PR server or indeed any other child process takes some time to exit (which it sometimes does when saving its database), it can end up holding bitbake.lock after the UI exits, which led to errors if you ran bitbake commands successively - we saw this when running the PR server oe-selftest tests in OE-Core. The recent attempt to fix this wasn't quite right and ended up breaking memory resident bitbake. This time we close the lock file when cooker shuts down (inside the UI process) instead of unlocking it, and this is done in the cooker code rather than the actual UI code so it doesn't matter which UI is in use. Additionally we report that we're waiting for the lock to be released, using lsof or fuser if available to list the processes with the lock open. The 'magic' in the locking is due to all spawned subprocesses of bitbake holding an open file descriptor to the bitbake.lock. It is automatically unlocked when all those fds close the file (as all the processes terminate). We close the UI copy of the lock explicitly, then close the server process copy, any remaining open copy is therefore some proess exiting. (The reproducer for the problem is to set PRSERV_HOST = "localhost:0" and add a call to time.sleep(20) after self.server_close() in lib/prserv/serv.py, then run "bitbake -p; bitbake -p" ). Cleanup work done by Paul Eggleton <paul.eggleton@linux.intel.com>. This reverts bitbake commit 69ecd15aece54753154950c55d7af42f85ad8606 and e97a9f1528d77503b5c93e48e3de9933fbb9f3cd. (Bitbake rev: a29780bd43f74b7326fe788dbd65177b86806fcf) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build: Exit scripts with result of last shell functionAndre McCurdy2015-07-271-1/+1
| | | | | | | | | | | | | Since shell scripts run with 'set -e' the final exit at the end of the script can only be returning 0. However, for correctness and to follow the original intention of the 'cleanup' commands, let's fix the typo and return the success of the last shell function rather than the success of unhooking the exit trap handler. (Bitbake rev: bef724057f1ea81571dd3ac5a9cf862f818434b5) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Improve override history loggingRichard Purdie2015-07-242-11/+14
| | | | | | | | | | | | | | | | | | Calling record() for each override alteration is slow. Since we now expand overrides dynamically we don't have to record the log data at each alteration, we can instead print it directly from the existing data stores at variable history print time using the exact same data stores. This massively improves performance of the data store when parsing with bitbake -e for example, it will improve memory overhead as well. The only downside is that VariableHistory has to poke into the datastore for some of its data but that seems an acceptable tradeoff rather than double caching. (Bitbake rev: 100b447a161ef20fa559e39516cd32fa78e38262) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Improve performance of infer_caller_details()Richard Purdie2015-07-241-8/+17
| | | | | | | | | | | | | | | | | | | | | | As things stand now, bitbake -e (which turns on all the caller tracking) of OE-Core generates around 9.5 million stat calls which is slow and the largest single thing on the profile data. This is because infer_caller_details() calls traceback.extract_stack() which adds line contents to the traceback. This in turn calls python's internal linecache code which calls stat on every file for every callback. We don't even use that info. We only even want a single frame of the stack. Instead, open code for the pieces of information we need. Also, only obtain the stack once for both halves of the infer_caller_details() code. This reduces the number of stat calls to around 0.5 million and significantly improves parsing with bitbake -e. (Bitbake rev: 7be76d8f79ea92fd4bd36146eb9a4b86551b526d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Clean up datastore accesses and True/False valuesRichard Purdie2015-07-241-20/+20
| | | | | | | | | | | | We should use the d.xxxVar syntax rather than the older function style. Also replace 0/1 with the more pythonic True/False. No functionality changes. (Bitbake rev: 90fdd69cca951f8bd2ff634f3b42fccd4fc03095) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Add newline after the last export in emit_funcAndre McCurdy2015-07-241-1/+2
| | | | | | | | | | | | | Minor formatting improvement in generated shell scripts. Add a newline after the last export emitted by emit_func. Also, remove chance of putting an extra newline in the middle of the exports, since we never want to do that. (Bitbake rev: 5117d9b5d32d5d81adf70fa3e3feac9cef654240) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: Add shutdown methodRichard Purdie2015-07-241-0/+4
| | | | | | | | | | | | One drawback to tinfoil is that once a cooker is created, it will hold the cooker lock and stop any other bitbake execution against a directory. Add a shutdown method to tinfoil, allowing other users to use the build directory after the tinfoil usage is no longer needed. (Bitbake rev: e44ce85fe551677fc0dcc1da4f789a0c13093ff1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-selftest: Add -v option for verbosityRichard Purdie2015-07-231-5/+10
| | | | | | | | Also document BB_SKIP_NETTESTS=yes parameter in --help output. (Bitbake rev: 5196bfa9639eed2b1e6452f45775551203f8eeb4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/parse: Add BBCLASSEXTEND multiple data store corruption ↵Richard Purdie2015-07-231-2/+34
| | | | | | | | | | | | | | | reproducer One data store changing a variable poked through into a different data store. This test case replicates that issue where the value 'B' would become unset/disappear. We also enhance parsehelper to generate files with an optional suffix such as bbclass. (Bitbake rev: 5c4179f58a4e04f1c354df5f17d1860eb403f0ac) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>