summaryrefslogtreecommitdiffstats
path: root/bitbake
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: bitbake: Add event mask flag supportBogdan Marinescu2013-06-143-8/+20
| | | | | | | | | | | | | | | Add a flag to event handlers which lists the events a given handler wishes to process. By default event handlers recieve all events but this means we can stop running code in many cases if we know it doesn't want the event. This is part of the fix for YOCTO #3812, but implements filtering only for class event handlers; the other part (events filter for UIs) will be the subject of a different patch. (Bitbake rev: 074003a4e7530a72863b9c685fc5c31b0f08c039) Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update version to 1.19.1Richard Purdie2013-06-142-2/+2
| | | | | | (Bitbake rev: 6acd444a557bba977ae1772371fdadf5f510e3b6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Bump minimum python version to 2.7.3Richard Purdie2013-06-141-2/+2
| | | | | | (Bitbake rev: a01d153a8baac7136c2797c95357e74dd8872026) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: prserv: Adapt autostart to bitbake-workerRichard Purdie2013-06-144-3/+12
| | | | | | | | | | With the change to bitbake-worker we need to ensure the workers know how to contact the PR service, the magic 0 port and singleton is no longer enough. (Bitbake rev: c761751e259bb8e940552a28794b45887b5a72d9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Spawn a separate worker for fakeroot tasksRichard Purdie2013-06-141-17/+58
| | | | | | (Bitbake rev: 860ec42b220b7ed3f3bbe52c3546bba66644eac8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Abstract the start and teardown worker functionsRichard Purdie2013-06-141-17/+31
| | | | | | | | | We're going to need a fakeroot/pseudo version of the worker so abstract the code to start the worker process. (Bitbake rev: b5d0f12f9df3ab211700473ed145ee6fbd9ca8e9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Move the bitbake-worker execution to a higher levelRichard Purdie2013-06-141-59/+55
| | | | | | | | | | The worker was being executed by each execution queue so would get constructed twice for each build. This is wasteful so move execution to the main runqueue so we only have to start the worker once. (Bitbake rev: 8117f8480125b121b2b5ac0afc31b108d9e670ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Split runqueue to use bitbake-workerRichard Purdie2013-06-146-190/+492
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a pretty fundamental change to the way bitbake operates. It splits out the task execution part of runqueue into a completely separately exec'd process called bitbake-worker. This means that the separate process has to build its own datastore and that configuration needs to be passed from the cooker over to the bitbake worker process. Known issues: * Hob is broken with this patch since it writes to the configuration and that configuration isn't preserved in bitbake-worker. * We create a worker for setscene, then a new worker for the main task execution. This is wasteful but shouldn't be hard to fix. * We probably send too much data over to bitbake-worker, need to see if we can streamline it. These are issues which will be followed up in subsequent patches. This patch sets the groundwork for the removal of the double bitbake execution for psuedo which will be in a follow on patch. (Bitbake rev: b2e26f1db28d74f2dd9df8ab4ed3b472503b9a5c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Fix AUTOINC handlingRichard Purdie2013-06-142-4/+4
| | | | | | | | | | | | | AUTOINC was meant to appear once at the start of the version string. The list of names may not be sorted meaning it could get inserted in the middle. This patch simplifies the code and ensures it appears at the start. Include cache version bump to ensure the cache picks up these changes. (Bitbake rev: ad8bf10d873abb94d987860a3f6d06b134fb8a99) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Add missing file that went out of syncRichard Purdie2013-06-121-0/+0
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-layers: fix for move of data object to cookerPaul Eggleton2013-06-101-4/+4
| | | | | | | (Bitbake rev: 063ee01935767ac4c9518d7477c8c85da1c9969a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: fix for move of data attribute to cookerPaul Eggleton2013-06-101-1/+1
| | | | | | | (Bitbake rev: c400fe36f7609d53fb413484dc03bbce307f31f9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/cache.py: invalidate cache when file checksum entry no ↵Paul Eggleton2013-06-071-0/+9
| | | | | | | | | | | | | | | | | | | longer exists Go through the cached list of file checksums and check if any of the files no longer exist; if any are missing then invalidate the cached recipe, which will force it to be reparsed and thus force the list of files to be collected again. This prevents a warning when moving a file to a different location that is still picked up by the recipe, e.g. moving a file from a "files" subdirectory to one named with the recipe name (${BPN}). Fixes [YOCTO #4474]. (Bitbake rev: e1aa103593c46612c4d9000524174983b5994dc9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: Split data from configurationRichard Purdie2013-06-073-88/+88
| | | | | | | | | | | The reasons for combining these objects is ancient history, it makes sense to clean things up and separate them out now. This follows on logically from the configuration cleansups and leads well into the bitbake-worker changes. (Bitbake rev: 89ffd62661ebcf2a97ce0c8dfd5e4d5bfbe27de7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Improve remote server handlingAlexandru DAMIAN2013-06-071-2/+3
| | | | | | | | | | | Two fixes in bitbake related to running remote servers - * can now specify correctly the bind port * the information in print conforms to common server infrastructure (Bitbake rev: b657208ee15ae065e5fcc2dd6e0051e03d246727) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: xmlrpc: Allow server to remain memory residentAlexandru DAMIAN2013-06-071-11/+9
| | | | | | | | | | | | | | | | This patch enables the XMLRPC server to remain resident in memory after a task is run, and to accept a new controlling client. To check the server after task completion, do lsof bitbake.lock in the build directory. Kill the server with kill. (Bitbake rev: e823e1f0675ff3794eb39ef0b4df2d7a220f4013) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake server: create common server infrastructureAlexandru DAMIAN2013-06-073-72/+141
| | | | | | | | | | | | | | | | | | | In an attempt to minimize code duplication, create clear interfaces, and maximize code reuse through OOP, bb.server adds base classes for the BitBakeServer, BitBakeServerConnection and actual server implementations instructed in particular server types. These classes document the minimum interfaces that the derived classes must implement, and provide boilerplate code. Changes to None, Process and XMLRPC servers as to use the common server infrastructure. (Bitbake rev: 6db4a64cef20f8d0aba804db4c4e1eec7b112b46) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Drop bitbake-runtask (removed upstream a while ago)Richard Purdie2013-06-041-119/+0
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Added distroy signal to information dialogsAndrei Dinu2013-05-311-0/+1
| | | | | | | | | | | | | Added distroy signal to information dialogs so that when pressing the close button, the dialog would close. [HOB #4568] (Bitbake rev: 265e27857d1d8914486b924d3390bfbe88f4e39b) Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/cache.py: Change debugging note to a debug messageMark Hatle2013-05-311-1/+1
| | | | | | | | | | | | Some apparently debugging was left in in a previous commit. This caused bitbake to return a list of bbappends when things changed from the cache. Make this a proper debug message. (Bitbake rev: 1965e5cbdfede18d7b7cb0218e0a5147c3f1c884) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: prserv: Unbreak after bb.server changesRichard Purdie2013-05-301-1/+1
| | | | | | (Bitbake rev: e2cc22fb8b2e97b068b6037540c746ecb1856de6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cookerdata: Fix tinfoil by adding missinge extra_caches defaultRichard Purdie2013-05-301-0/+1
| | | | | | (Bitbake rev: d513153cac283aa4ec37135a9190f7a091b6c44b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: xmlrpc remote serverAlexandru DAMIAN2013-05-302-8/+215
| | | | | | | | | | | | | | | | Added code in XMLRPC server that creates a stub local server for a client-only connection and is able to connect to a remote server, and receive events from the remote server. Added the option to start a client with a remote server in bitbake. Original code by Bogdan Marinescu <bogdan.a.marinescu@intel.com> (Bitbake rev: 25b2af76104d5aaf6435de8c158e0407512f97ce) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: xmlrpc transport has identification tokenAlexandru DAMIAN2013-05-301-66/+100
| | | | | | | | | | | | | | | In order to be able to identify different clients over a stateless XMLRPC connection, we add a custom header named Bitbake-token, which identifies each client. We refactor the rest of the code to use the new transport. Based on a patch by Bogdan Marinescu <bogdan.a.marinescu@intel.com> (Bitbake rev: a00c2186bffe848a7cedf31969b904f8f7322ae6) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: move start server code in a separate functionAlexandru DAMIAN2013-05-301-35/+41
| | | | | | | | | | | This is a code sanitization targeted at making further server-related changes easier (launch a server separately or creating a mockup-server) to do. (Bitbake rev: eac00258d213137ef73aed255c92b7981e2f1c75) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: move extra cache collection out of cookerAlexandru DAMIAN2013-05-303-23/+20
| | | | | | | | | | | | | | The collection of the extra caching data should not be performed by the cooker, but supplied to it. This patch will also streamline the code for launching servers without a UI attached. Based on a patch by Bogdan Marinescu <bogdan.a.marinescu@intel.com> (Bitbake rev: f0b54280a6bce522508e4741e5f507bc284113a8) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: retrieve the entire ui module in launcherAlexandru DAMIAN2013-05-301-3/+3
| | | | | | | | | | | | Slight change in bitbake as to retrieve the entire UI module for further processing instead of just the main function. Based on a patch by Bogdan Marinescu <bogdan.a.marinescu@intel.com> (Bitbake rev: f49341a9599d971829ef65b2b02732543740a3c9) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Fix missing function callRichard Purdie2013-05-301-14/+15
| | | | | | | | | | | | | | | | | | | | Fix the issue: File: '/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/build-appliance/build/bitbake/lib/bb/fetch2/__init__.py', lineno: 813, function: try_mirror_url 0809: except bb.fetch2.BBFetchException as e: 0810: if isinstance(e, ChecksumError): 0811: logger.warn("Mirror checksum failure for url %s (original url: %s)\nCleaning and trying again." % (newuri, origud.url)) 0812: logger.warn(str(e)) *** 0813: self.rename_bad_checksum(ud, e.checksum) 0814: elif isinstance(e, NoChecksumError): 0815: raise 0816: else: 0817: logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url)) Exception: NameError: global name 'self' is not defined (Bitbake rev: 5f960017bb1d4274a5bd5b598971f38c12fc0f11) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: server/bitbake: Remove launchUI methodRichard Purdie2013-05-303-10/+1
| | | | | | | | | With the removal of the none server type, we can remove the launchUI method and simplify the code slightly. (Bitbake rev: 9bef2f2dd0bcaa59528ebcb3c1ce053b7dff1ec6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: server: Remove none serverRichard Purdie2013-05-302-206/+3
| | | | | | | | | | | | The process server backend has been serving well as the default for a long time now and the UI model is much better thought out that it used to be. With the move to make bitbake a memory resident process, the none server is now looking rather pointless and complicates the code needlessly. Lets therefore now remove it. (Bitbake rev: 9af03a89605e3db9bce3cea1e0f2d0b6cfaa6fe1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker/cookerdata: Fix up event handling for hobRichard Purdie2013-05-241-1/+2
| | | | | | | | | The init function call was clobbering data hob relies on injecting, fix this so the data injected by hob isn't overwritten. (Bitbake rev: 64ca1aa1fd5f0473196b6cd805637fa644a92173) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build: Avoid empty promisesRichard Purdie2013-05-241-1/+1
| | | | | | | | | | | | The "see xxx for further information" is misleading since it is just the same information. Clarify just to mention the that this is the location of the logfile without any empty promise. [YOCTO #4343] (Bitbake rev: 7088c0e8553dd3c408b5bc06f8c34d5b72e9ea9a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-layers: fix show-appends and flatten for recent cooker changesPaul Eggleton2013-05-241-8/+8
| | | | | | | | | | | | | Fixes the show-appends and flatten subcommands for recent refactoring in cooker. [YOCTO #4536] [YOCTO #4535] (Bitbake rev: 54817d0de667941ee68fe3490684159e2d90e9c5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker/cookerdata: Improve configuration object handlingRichard Purdie2013-05-244-16/+16
| | | | | | | | | | | | | | | | | | | | | Originally it seemed like a good idea to keep the parameters around. Having seen this in real life use, its incorrect, we should pull all the data we need into the cooker's configuguration and then use this to build the datastore. Being able to just build the datastore from the parameters seemed like a good idea but having a dummy cooker configuration object is now looking like the better option. This also fixes failures in hob since the parseFiles command can call into cooker directly now and reset the configuration prefiles and postfiles at will, rather than the indirect calls before which were breaking the datastore (e.g. BBPATH wasn't set). The cleanup this allows in tinfoil illustrates how this change makes more sense. (Bitbake rev: f50df5b891bf318f12fc61c74adfcc626cc6f836) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Fix missing assignmentRichard Purdie2013-05-241-1/+1
| | | | | | | | The assignment to True was missing from the code, well spotted Saul! (Bitbake rev: e493fe8cb4953935f01361ffc0240e5818ebb283) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker/cookerdata/event: Improve class handlers managementRichard Purdie2013-05-243-3/+13
| | | | | | | | | Similarly to the execution context changes, establish better lifetime management API of the class event handlers. (Bitbake rev: 54e35a6cceead9521f8b1dacd48e55064e85c8bd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker/cookerdata/utils: Improve context managementRichard Purdie2013-05-243-10/+22
| | | | | | | | | | | | | | | The current execution context management for bitbake is ugly and the use of a global variable is nasty. Fixing that is hard, however we can improve things to start to establish an API for accessing and changing that context. This patch also adds in an explicit reset of the context when we reparse the configuration data which starts to improve the lifecycle of the data in setups like hob. (Bitbake rev: 6c3281a140125337fc75783973485e16785d05a1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: event: Drop Handled/NotHandled status return valuesRichard Purdie2013-05-241-11/+0
| | | | | | | | These have long since been deprecated, lets remove them. (Bitbake rev: 3dc83bbb1bf387bb7ecea2e17f0f72cfccecba92) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker.py: Remove global scope class event handlersRichard Purdie2013-05-241-0/+2
| | | | | | | | | | | | | | | | Its confusing when an event handler in for example a bbclass receives events for a recipe which doesn't use the class. This is due to the class event handlers having confusing scope. Worse, the issue is not deterministic and the events a handler will see depends on the parse order. To avoid these issues, remove the class event handler global scope and only have class handlers recieve events for recipes using the class. (Bitbake rev: 7fb95f3d133e440d463d2faa7151c731f8e1ae96) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: methodpool: Retire it, remove global method scopeRichard Purdie2013-05-244-51/+5
| | | | | | | | | | | | | | | | | Having a global method scope confuses users and with the introduction of parallel parsing, its not even possible to correctly detect conflicting functions. Rather than try and fix that, its simpler to retire the global method scope and restrict functions to those locations they're defined within. This is more what users actually expect too. If we remove the global function scope, the need for methodpool is reduced to the point we may as well retire it. There is some small loss of caching of parsed functions but timing measurements so the impact to be neglibile in the overall parsing time. (Bitbake rev: 4d50690489ee8dc329a9b0c7bc4ceb29b71e95e9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: methodpool: Conflicting methodnames should be a fatal errorRichard Purdie2013-05-241-1/+1
| | | | | | | | | | When this error occurs, the build should stop, not continue uninterrupted. [YOCTO #4460] (Bitbake rev: acd6d7ffa8813b3b11cad9145e8e614a695ae04a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hob: Table sorting criteria should not change after deselecting ↵Cristiana Voicu2013-05-223-7/+27
| | | | | | | | | | | | | recipes/packages After a recipe/package is deselected, the table is sorted as before the fadeout animation. [YOCTO #4453] (Bitbake rev: d4968eac539f777367ab1243a1049117cb261176) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hob: apply a fade out animation when deselecting from tablesCristiana Voicu2013-05-222-34/+30
| | | | | | | | | | | | | | -applied a fade out mechanism for deselctiong on all the tabs of recipes and packages list page -set cursor on the package/recipe when it is included(important when the its place is changing; like when the tree si order by included tab) [YOCTO #4342] (Bitbake rev: 8bd0e0681a6a39c00accbfc0041ab248993f3877) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cookerdata: rename _parse to parse_config_filePaul Eggleton2013-05-221-6/+6
| | | | | | | | | | We use this externally in the OE layer index update script, so it shouldn't really be named as an internal function. (Bitbake rev: 89332a7874e94c8d91ea24200f9739abb1a50397) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: fix for changes to cooker config structurePaul Eggleton2013-05-221-20/+21
| | | | | | | | | | Fix the code here for recent changes to the initialisation of configuration objects for cooker. (Bitbake rev: 9d3ca9aa73a448b0594f03ac8e8317403ec0dc8d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-layers: fix for move of calc_bbfile_priority within cookerPaul Eggleton2013-05-221-1/+1
| | | | | | | | | | | | calc_bbfile_priority is now in CookerCollectFiles which can be accessed on the collection attribute of a cooker instance. Fixes [YOCTO #4513]. (Bitbake rev: 5d941631ad7198737d9a5c5a920a9062fa0431f8) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: command: Fix function module reference after code rearrangementRichard Purdie2013-05-221-1/+1
| | | | | | (Bitbake rev: ff9f62fd5f76892ad41a5329b75472501e17e712) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Ensure export flag is set for fakeroot environment ↵Richard Purdie2013-05-221-0/+1
| | | | | | | | | | | | variables This means the variables show up in the shell execution "run" files since its useful to know what the fakeroot environment is and how to set it up manually. (Bitbake rev: bdf437747b664479acde6deaa9096e2a6bcdf483) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake/cookerdata: Explicitly specify cooker configuration optionsRichard Purdie2013-05-222-12/+21
| | | | | | | | | | | | | | As the code stands today its hard to know which configuration variables are used by which parts of the system. Some are used by the UIs, some by bin/bitbake itself, some by cooker. This patch changes the configuration to just contain the variables cooker uses, and changes bin/bitbake to access the variables it needs directly which hopefully lets us start to untangle this mess. (Bitbake rev: e57497a24b6157c92519a34accd66035a39ad1f8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: Split configuration parsing code into cookerdataRichard Purdie2013-05-222-118/+139
| | | | | | | | | | | | | | | | | | | In order to have a memory resident bitbake and to allow task execution, we need to be able to rebuild the base configuration without a cooker. This moves the code into its own class so it can be built independently. The interface is less than ideal here but I didn't want to add parsing methods a subclassed DataSmart, at least until we've experimented further with this code and are certain that makes sense. At the very least, the methods are ugly and need cleaning up. Spliting the code out seems to be the right thing to do though and should unblock various activities on BitBake so I believe this code is a step in the right direction. Based on a patch from Alexandru Damian <alexandru.damian@intel.com> (Bitbake rev: 22a0b3cf73d2689db0c118b37aa7492632f8b0a7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>