summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: toaster: fix tasks showing as NoExecAlexandru DAMIAN2013-11-151-4/+6
| | | | | | | | | | | | | | | | | | | Tasks without script type information showed by default as NoExec; this happens for all Prebuild or Covered tasks, as script type information comes only on TaskStarted event. Such a default value may drive confusion, as NoExec value should be reserved for the NoExec-flagged tasks. This patch adds a new default value named Unknown that will be used for all tasks that don't have script type information available. [YOCTO #5327] (Bitbake rev: ec6cac74290f0d4f5b60222019c23416b4b8e1ef) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: convert build_package size to bytes to keep consistenceCristiana Voicu2013-11-152-2/+2
| | | | | | | | [YOCTO #5503] (Bitbake rev: 19eb6e01b675c439ff0a817be6fa5e34ad42ba37) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix target package informationtoaster-dora-10.0.0Alexandru DAMIAN2013-11-052-6/+6
| | | | | | | | | | | | | | | | | | | | | Toaster needs to record information about packages installed on a built target image, and dependencies between these packages. This patch fixes a bug where the variable from the server wasn't read correctly leading which caused the buildhistory to not be processed correctly. Additionally, two display issues in the package table were fixed, issues that lead to package information being displayed incorrectly. [YOCTO #5197] (Bitbake rev: ab4bc18409d80de6d069e3dd76c3c54964fe5764) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add variable description for prefixed/suffixed variablesCristiana Voicu2013-11-041-0/+5
| | | | | | | | | | | | | In the Configuration table, we need to link prefixed / suffixed variables to the corresponding variable descriptions in documentation.conf. [YOCTO #5198] (Bitbake rev: 641d9c4fda5fe978154fdfab978c3c09e3906eab) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix timezone settingsAlexandru DAMIAN2013-11-041-2/+3
| | | | | | | | | | | | | | | | This patch fixes an issue where, if not defined, the timezone defaults to 'America/Chicago'. The solution is to set the timezone to current computer's timezone. [YOCTO #5186] (Bitbake rev: a4102b549f04a9b52cdcd318bf511a18ab48067d) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: do not recreate recipecache in buildfile modeAlexandru DAMIAN2013-11-041-1/+0
| | | | | | | | | | | | | | | | | | | | When building a single file, the cooker will recreate the recipecache from scratch. I suspect this is a remnant of past code, since: * the current recipecache works fine * the new recipecache will not have all the fields as requested by HOB_EXTRA_CACHES setting This patch disables recreating the recipecache, leading to shorter times when building single build files (-b option) and better compatibility with Toaster. (Bitbake rev: 618d69b00075981b8553513130d7deb1aed61578) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build, toaster: record proper task typeAlexandru DAMIAN2013-11-043-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bitbake tasks may be of type 'python' or 'shell', or they may not be executed at all, which is record as task type 'noexec'. In order to record proper task type, this patch: * creates no exec task type as the default value in the toaster model definition * adds full task flags to the bb.build.TaskStarted event in build.py * if the task actually starts, the toaster ui will record the type of the task as either 'python' or 'shell' based on the task flags. [YOCTO #5073] [YOCTO #5075] [YOCTO #5327] (Bitbake rev: 6648c57e6d369fc009ea3a9fe939def5d2c67bf5) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: add data to the dependency tree dumpAlexandru DAMIAN2013-11-041-0/+2
| | | | | | | | | | | | | | | | | | Toaster needes to record extra data that needs to be moved at the time of the dependency tree dump. This data includes: * layer priorities for recording in the layer section * the inherit list for each PN which allows to determine the type of the PN (regular package, image, etc). This patch adds this data to the dependency tree dump. (Bitbake rev: 7636aba37320aaf9b044d3832ddc21af51ccd69c) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fixes for null values from eventsAlexandru DAMIAN2013-11-042-24/+19
| | | | | | | | | | | | | | | | | | | Some of the data values may come of as None through the event system, and the UI would encounter a problem saving the Configuration. It would be trying to save these values as NULL in the database, which is not allowed. This patch adds more verification for data coming through the event system. Other minor updates: * update for the event model from toaster.bbclass * minor code flow fix in the event system (Bitbake rev: 03fafd086381723c6486522873671515824e49f2) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: add Toaster UI interfaceAlexandru DAMIAN2013-10-162-0/+992
| | | | | | | | | | | | | | | | Adding a new bitbake UI interface named 'toasterui'. 'toasterui' listens for events and data coming from a bitbake server during a run, and records it in a data store using the Toaster object model. Adds a helper class named BuildInfoHelper that reconstructs the state of the bitbake server and saves relevant data to the data store. Code portions contributed by Calin Dragomir <calindragomir@gmail.com>. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
* bitbake: toaster: adding frameworks for the Simple UIAlexandru DAMIAN2013-10-163-0/+6785
| | | | | | | | | | This commit adds the 3rd party frameworks used for the web UI. jQuery is licensed under MIT. Bootstrap is licensed under APACHE-2.0 Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
* bitbake: add toaster code to bitbakeAlexandru DAMIAN2013-10-1630-0/+1363
| | | | | | | | | | | | | | | | | | | | | | | This patch adds the Toaster component to Bitbake. Toaster is a module designed to record the progress of a Bitbake build, and data about the resultant artifacts. It contains a web-based interface and a REST API allowing post-facto inspection of the build process and artifacts. Features present in this build: * toaster start script * relational data model * Django boilerplate code * the REST API * the Simple UI web interface This patch has all the development history squashed together. Code portions contributed by Calin Dragomir <calindragomir@gmail.com>. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
* bitbake: hob: change tooltip for live imagesCristiana Voicu2013-10-071-1/+4
| | | | | | | | | | | This change is needed to inform the user that selecting live type means that the system will build a hddimg and iso image. (Bitbake rev: 5051f59976de4e099bb434aeea414de5a67a069f) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: replace comment added in conf filesCristiana Voicu2013-10-071-1/+1
| | | | | | | | | | | | The patch that implements removeConfigurationVar method was made before merging the patch that replaces "added by bitbake" with "added by hob". This patch corrects this issue. [YOCTO #5284] (Bitbake rev: 42601a5edef0316767b952b162123534aa8fee18) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: xmlrpc: Show a better error message for connection failuresRichard Purdie2013-10-071-3/+6
| | | | | | | | | Showing a traceback when unable to connect to a bitbake server is rather ugly. This change allows us to show a sensible error message. (Bitbake rev: 26913202f83fbbecdce95da59515af102bcde4a7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake/hob: removing extra parameters from conf files using hobCristiana Voicu2013-10-075-3/+69
| | | | | | | | | | | | | In Hob settings, there is a tab to add/remove extra settings. This patch implements a way to "remove" variables from conf files, through bitbake. But, to keep the history assigment of the variables synchronized, instead of removing, it replaces the lines with blank lines. [YOCTO #5284] (Bitbake rev: bd720fb63cef6b399619b8fbcaeb8d7710f2d6df) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: HOB: MACHINE should be saved in conf files using ?=Valentin Popa2013-10-073-9/+17
| | | | | | | | | | | | MACHINE var is saved using early assignment operator. Calling MACHINE=x bitbake core-image-... works properly. Comment "#added by bitbake" is replaced with "#added by hob". [YOCTO #5070] (Bitbake rev: 2d0ec8ff083b636a6cf98de3278900eb95c3def6) Signed-off-by: Valentin Popa <valentin.popa@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: utils: use logger.warn instead of print in copyfileRoss Burton2013-10-071-5/+5
| | | | | | | | | print disappears into the ether, so use logger.warn and clean up the messages. (Bitbake rev: 90f91f7402ff69f3fe9fba5f94a53d371303ce34) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/monitordisk.py: fix spelling in error textErik Botö2013-10-021-2/+2
| | | | | | | (Bitbake rev: 78efda1224a99ed3d2ca6befb9fd719d82f6b0ae) Signed-off-by: Erik Botö <erik.boto@pelagicore.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: HOB: Busy cursor when saving configurationValentin Popa2013-09-302-0/+18
| | | | | | | | | | Display a busy cursor while the configuration is saved. [YOCTO #4846] (Bitbake rev: fdb2e0120f189e97b8fdb6eb72d77a3100ba3018) Signed-off-by: Valentin Popa <valentin.popa@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update to version 1.20.0Richard Purdie2013-09-241-1/+1
| | | | | | (Bitbake rev: 2666865a27cedbffc82800b4cab1d6cff5a0222e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/data: Whitespace in key names is a really bad ideaRichard Purdie2013-09-221-15/+15
| | | | | | | | | | | | | The parser never has supported it, the datastore API did happen to work but whitespace in key names is a really bad idea and not something I think we should encourage or support. Fix test case failures after excplitly ignoring it for variable expansion purposes. (Bitbake rev: a2074ddaba6f53962d6caf34dbd27bdbc259935b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Variable references don't contain newlines, spaces or tabsRichard Purdie2013-09-221-1/+1
| | | | | | | | | | | The code is happily trying to expand variable names containing newlines, spaces and tabs which are illegal characters in variable names. This patch stops it doing this. This will change dependency checksums since some rather weird dependencies were being attempted to be expanded. (Bitbake rev: 37e13b852b33d98fa40f49dc1e815b3bbe912ff0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hob: populate "Save image" dialog when saving changes to a custom ↵Cristiana Voicu2013-09-221-0/+8
| | | | | | | | | | | | | | | | | image recipe If my build starts from a YP standard image recipe, the 'Save image recipe' dialog should be empty. If my build starts from a custom image recipe, the 'Save image recipe' dialog should populate the 'Name' and 'Description' fields with the values set for the custom image recipe. [YOCTO #5004] (Bitbake rev: 10757c529fe0b4b9a39740d269831347a3aab4a0) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build: Add BB_TASK_NICE_LEVEL to task codeRichard Purdie2013-09-221-0/+8
| | | | | | | | | | | | | | | | | | On Linux its not possible for processes to regain a previous nice level after it has changed. Its therefore not possible to have a core low priority and then raise the priorities of individual tasks. This variable allows us to do something like: BB_TASK_NICE_LEVEL = "5" BB_TASK_NICE_LEVEL_task-testimage = "0" to give priority to specific tasks which the BB_NICE_LEVEL functionality doesn't give us the option of. (Bitbake rev: 94d82997220c6cfc7028f76719df028ba8254a5c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: runqueue: add task hash to Queue eventsAlexandru DAMIAN2013-09-221-0/+5
| | | | | | | | | | Adding the sstate-related hash for all runqueue and scenequeue tasks, as it's needed in the WebHob data. (Bitbake rev: b6e2ce1cf7a0ede890f08fabf536a556dc4263c5) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: event: adding generic event for metadata usageAlexandru DAMIAN2013-09-222-0/+11
| | | | | | | | | | | | | | | | | | | | | | | Adding the generic bb.event.MetadataEvent that is targeted specifically at metadata usage. This is needed in order to let the metadata code send and receive events during asynchrous execution without having to define each event specifically in Bitbake. Metadata code should subscribe to and fire the MetadataEvent in order to communicate asynchronously, and identify the object using event.type field, and parse the data in the event.data field. Knotty UI will ignore these event by default. This deprecates RequestPackageInfo/PackageInfo, and that event pair will be removed in the future. (Bitbake rev: ae1ea51aaab73e010d1c3db39df058bebebc11dd) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker, command: add a command to return global dataAlexandru DAMIAN2013-09-222-0/+24
| | | | | | | | | | | | | | Adding the 'getAllKeysWithFlags' read-only command that will return a dump of the global data state, together with specified flags for each key. The flag list is passed in as the first parameter to the command. This will be used by UI clients to get the build configuration. (Bitbake rev: 3e094da513e1220319288806cb76ddf804772afd) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker: get extra information from recipe cacheAlexandru DAMIAN2013-09-223-22/+36
| | | | | | | | | | | | | | | | | | | | | The loaded cache modules may add extra attributes to the recipecache, that will be populated by the cache classes required by the UI. These attributes will be used by the UI to display relevant information. Adds cachefields cache class field to specify for each cache class which attributes will be set in the recipecache. Adds code to automatically expand depends tree with the fields exported by the extra cache class. Fixes a cache field name in the HOB UI. (Bitbake rev: 47c171005fb3803d936e65fcd4436c643883ae16) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: build, runqueue: adds info to the *runQueue* eventsAlexandru DAMIAN2013-09-222-0/+12
| | | | | | | | | | | | | | | | | | | This patch adds task identifying information for all runQueue and sceneQueue events, and for bb.build.Task* events. This will allow matching event to specific tasks in the UI handlers processing these events. Adds RunQueueData functions to get the task name and task file for usage with the runQueue* events. Adds taskfile and taskname properties to bb.build.TaskBase. Adds taskfile and taskname properties to the *runQueue* events (Bitbake rev: b4a5e4be50d871a80dbe0993117d73f5ad82e38f) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker,runqueue: send the task dependency treeAlexandru DAMIAN2013-09-222-1/+9
| | | | | | | | | | | | | | | Adding a CookerFeature that allows UIs to enable receving a dependency tree once the task data has been computed and the runQueue is ready to start. This will allow the clients to display dependency data in an efficient manner, and not recompute the runqueue specifically to get the dependency data. (Bitbake rev: 75466a53b6eece5173a9bfe483414148e4c06517) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker,xmlrpc,servers: implement CookerFeaturesAlexandru DAMIAN2013-09-228-19/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementing feature set selection that allows a client to enable specific features in the server at connection time. Only enabling of features is supported, as there is no way to safely remove data loaded into the cooker. Once enabled, a feature will remain enabled for the life of the cooker. Client-server connection now supports specifying the feature set required by the client. This is implemented in the Process server using a managed proxy list, so the server cooker will now load dynamically needed features based on what client connects to it. In the XMLRPC server the feature set is requested by using a parameter for registerUIHandler function. This allows observer-only clients to also specify features for the server. The server code configuration now is completly separated from the client code. All hardcoding of client knowledge is removed from the server. The extra_caches is removed as the client can now specify the caches it needs using the feature. The UI modules now need to specify the desired featureSet. HOB is modified to conform to the featureSet specification. The only feature available is CookerFeatures.HOB_EXTRA_CACHES which forces loading the bb.cache_extra:HobRecipeInfo class. (Bitbake rev: 98e594837aab89ea042cfa9f3740d20a661b14e2) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Fix variable reference issuesRichard Purdie2013-09-182-5/+4
| | | | | | | | | | | | | | | | The change to use the expansion cache in VariableParse was incorrect as it was adding in references it shouldn't have been. This patch corrects the codepaths and ensures the references are correct. The cache version is bumped since the previous bug could have leave to invalid checksum calculations and a clean cache is therefore desireable. The impact of the bug was that sstate was not getting reused when it should and some tasks were also being rerun when they should not have been. (Bitbake rev: 8a42d082315bd6ce091d006bf83476db257fa48b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: return a copy checkPackagesRichard Purdie2013-09-181-0/+3
| | | | | | | | | | | | | | The syntax used for checkPackages implies a copy is returned but it did not do so. Make it so. This is fixes universe builds where error messaages were being shown but there should have only been warnings. [YOCTO #5222] (Bitbake rev: 97db2a0792d605f27d434bc6a4acce52857deee1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Revert "bb.fatal: Raise a BBHandledException instead of exiting"Richard Purdie2013-09-171-1/+2
| | | | | | | | | Sanity test failures are no longer fatal with this change so whilst its the right idea, the code paths need more work. This reverts commit a50017ba71250e1710a6425b60ac7e3f03d88295. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bb.fatal: Raise a BBHandledException instead of exitingRichard Purdie2013-09-171-2/+1
| | | | | | | | | | With new bitbake UIs having the cooker exit at 'random' points in the codebase is problematic. This patch raises an exception which matches the siutation instead. (Bitbake rev: a50017ba71250e1710a6425b60ac7e3f03d88295) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Optimise flag exclusion list handlingRichard Purdie2013-09-171-5/+4
| | | | | | | | | Move the variable lookup to the outer loop for performance, replacing a now unneeded parameter (after the previous changes). (Bitbake rev: 8a59a8707cecbde257fca169775ce8ff7709928b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Optimise flag lookup in build_dependenciesRichard Purdie2013-09-171-2/+5
| | | | | | | | | When looking up flag variable dependencies, large chunks of the function aren't needed. Optimise the function flow accordingly for speed. (Bitbake rev: 1bf3aee698ad35f6815ea2c75471a96511a29d55) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Optimise build_dependencies a littleRichard Purdie2013-09-171-11/+10
| | | | | | | | | Instead of multiple calls to getVarFlag, make one call to getVarFlags, only expanding the flags that need to be expanded. This improves performance. (Bitbake rev: eba1e9545cc933820d40de96f023b2307b3c4d0b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Cache the fact a variable accesses another even if its ↵Richard Purdie2013-09-171-1/+1
| | | | | | | | | | | | unset If a variable references another but it isn't set at present, the reference wasn't stored. It really should be marked as a reference and the higher level dependency code can handle as appropriate. (Bitbake rev: b05b748b2153c941b95cd36fb22aaafc4dbf3791) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Allow flags to use the expand cacheRichard Purdie2013-09-171-1/+3
| | | | | | (Bitbake rev: a0122ab80df21597291ff32ff7fbaa4de0347a6f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Allow expansion of flags in getVarFlagsRichard Purdie2013-09-171-2/+3
| | | | | | | | | | Allow a list of flags to expand to be passed into getVarFlags. This is useful within bitbake itself to optimise performance of the dependency generation code. (Bitbake rev: a3ae7efdf750fc5bb9ff5a75defbcfdab1912dbe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Add explict None checksAlexandru DAMIAN2013-09-171-2/+2
| | | | | | | | | | | Simple if xxx checks end up calling len(xxx). We're interested in the specific case of None which means we can break out the iterator much earlier after the first item. This adds in the specific tests for None in what is a hot path in the data store code which gives small performance gains. (Bitbake rev: a4d81e44a7cd3dafb0bf12f7cac5ff511db18e60) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Cache an list of export variablesRichard Purdie2013-09-172-1/+8
| | | | | | | | | Compute a cache of the list of potential export variables so that we don't have to compute the list from scratch. (Bitbake rev: f41f46f7eaa6889edeb3a4e4ddedc07084686c60) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Use direct iteration, not keys()Richard Purdie2013-09-171-2/+2
| | | | | | | | | | | Profiling shows the creation of keys() has overhead and we're better using an iterator rather than the memory associated with the huge list of keys when iterating the whoe datastore. We minimise the number of times we do this to twice only per recipe. (Bitbake rev: e63448d9ee331b0f45fb9a0197d0dbee49eb2fa0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: use the expand_cache in VariableParseRichard Purdie2013-09-171-0/+5
| | | | | | | | | | When in VariableParse, use the expand_cache if possible rather than looking up data. Ultimately it would come from the same place but this short cuts a heavily used code block for speed improvements. (Bitbake rev: f682b8b83d21d576160bac8dc57c4c989b4dc555) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Improve variable expansion regexpRichard Purdie2013-09-171-1/+1
| | | | | | | | | | | Debugging showed the variable expansion regexp was catching python expressions (starting with @). Since these are caught by their own dedicated regexp, stop matching these for the plain variable expansion for small performance improvements. (Bitbake rev: c630d564285f55f9db10c18269bd310df797430e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: siggen: Use lookup cache exclusivelyRichard Purdie2013-09-171-12/+3
| | | | | | | | | | All the values we need are already guaranteed to be in the lookupcache so rather than fetch variables again, just use the cache. This gives a small performance improvement and simplifies the code. (Bitbake rev: 8ffaba61da7f195d7c3b64dce35b6a56272aecae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Be explicit in data_db checkRichard Purdie2013-09-171-1/+1
| | | | | | | | | | | The if statement current causes the size of parent to be calcuated which is like a len() operation on a datastore. Since we're only interested whether the value is none, checking explictly for this gives a small performance gain. (Bitbake rev: 43a245bde318545ea75ca4ce7894395c1cf9b32a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: Allow profiling of the parser in profile modeRichard Purdie2013-09-171-2/+22
| | | | | | (Bitbake rev: f8a6e4caed4dc3dcf207aecc4ea5f438027da8be) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>