summaryrefslogtreecommitdiff
path: root/bitbake/lib
Commit message (Collapse)AuthorAgeFilesLines
* Drop doctest, as we aren't utilizing itChris Larson2010-07-021-33/+0
| | | | | | | | | | | We should add back in some proper unit testing. Doctest is rather limited, and we haven't actually made use of it since the original implementation of the datastore when the project started, as far as I'm aware. (Bitbake rev: 3a11c2807972bbbddffde2fa67fc380d159da467) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Made '-b' work with BBCLASSEXTENDEnrico Scholz2010-07-022-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | When BBCLASSEXTEND is set, '-b' builds usually failed with messages like | ERROR: Parsing error data_fn virtual:native:<recipe>.bb and fn <recipe>.bb don't match | | File ".../bb/providers.py", line 47, in sortPriorities | priority = dataCache.bbfile_priority[f] | KeyError: 'virtual:native:<recipe>.bb' This patch fixes it and allows to specify the alternative class in a way like | ./bitbake -b virtual:native:<recipe>.bb This patch was written to be so minimal as possible; variables should be probably renamed to reflect their new meaning. (Bitbake rev: f1c7fe9fc12161ceb3fe201cde370b929b208729) Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Resurrect the old bb.vercmp as bb.utils.vercmp, and its depsChris Larson2010-07-022-1/+144
| | | | | | | | | | This is just for compatibility. We may drop it in the future, or rewrite it, as it's not particularly pythonic. (Bitbake rev: c4e31d7fe1d15a1e3ef2a453e7c7812d403d22cb) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Pass the config metadata into the Cache constructor rather than the cookerChris Larson2010-07-021-4/+4
| | | | | | | | | Cache only uses the config metadata from the cooker, no need for the cooker itself. (Bitbake rev: bf58d43444642d31293a341ce72292003ca5c162) Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Resurrect merged anonfunc executionChris Larson2010-07-021-4/+9
| | | | | | | (Bitbake rev: 0c2ed40277e157406ea25c858f14c3cebb73c21b) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Add & utilize a simple_exec utility functionChris Larson2010-07-022-1/+4
| | | | | | | (Bitbake rev: 5ead16f14f996bcbb2fb14277b8ce5a9317b8160) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Consolidate the exec/eval bits, switch anonfunc to better_exec, etcChris Larson2010-07-026-53/+36
| | | | | | | | | | | | The methodpool, ${@} expansions, anonymous python functions, event handlers now all run with the same global context, ensuring a consistent environment for them. Added a bb.utils.better_eval function which does an eval() with the same globals as better_exec. (Bitbake rev: 424d7e267b009cc19b8503eadab782736d9597d0) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Pass an empty locals dict in expansion, since list comprehensions apparently ↵Chris Larson2010-07-021-2/+2
| | | | | | | | | leak their '_' helper variable (Bitbake rev: 97da0cebbaf4dd1b46e58bd2e80cab6c007ae7c9) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Two minor changes to the way python snippet expansion happensChris Larson2010-07-021-8/+8
| | | | | | | | | | | | - Use a single dictionary for the context, both global & local, since for some reason it chokes wanting a global "d" rather than a local in the metadata. - First compile the string into a code object before running eval, so we can include the variable name in an evaluation error. (Bitbake rev: 49534d928a37e0804ca84eed186cd22363023b2e) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: providers.py: Fix typoRichard Purdie2010-07-011-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Add bb.utils.join_deps to handle creation of dependency strings ↵Richard Purdie2010-06-301-0/+12
| | | | | | with versions Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Move the logger initialization from cooker to utilsJeff Dike2010-06-292-11/+16
| | | | | | | | | | | | | | In order to move the environment cleaning, which wants to log a message, before cooker creation, the logging facility initialization needs to happen earlier. So, it is now in init_logger in utils.py and called from bitbake before the creation of the data object. It also seems more correct to initialize a global facility like this from a more global context than the creation of an object, of which there could theoretically be many. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: allow fakeroot functionality to be provided by an alternative programJoshua Lock2010-06-251-1/+1
| | | | | | | If the variable FAKEROOT is set its value will be used, otherwise we default to fakeroot. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake decodeurl: fix the file:// url handlingNitin A Kamble2010-06-071-1/+4
| | | | | | | | | | | Without this patch decoding a url of this kind file://dir/filename gives path=/filename host=dir. With the patch it decodes as path=/dir/filename host="" Probably nobody stumbled on this issue yet because nobody used file:// urls with directory names in the path. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
* bitbake/event.py: Run class eventhandlers in the task context but ensure UI ↵Richard Purdie2010-03-251-8/+17
| | | | | | handlers run in the server context Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/cooker.py: Finishing the command needs to happen after the ↵Richard Purdie2010-03-251-2/+2
| | | | | | BuildCompleted event else the cooker can shutdown first Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* cache.py: Bump the cache version after the BBVERSIONS updateRichard Purdie2010-03-251-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bb.manifest: Drop, its unused and obsolete. No point in having dead code aroundRichard Purdie2010-03-251-144/+0
| | | | | | (Bitbake rev: 69374497b557a5e99ffc7cbe5e075d63e2d9cfaa) Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* BBFILES: use a set to remove duplicates when collecting.Chris Larson2010-03-251-4/+4
| | | | | | | (Bitbake rev: b1b06133da4ca379a60775552d481f7fbf77e999) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bb/command was importing bb and accessing some of its own classes indirectly ↵Chris Larson2010-03-251-3/+5
| | | | | | | | | as bb.command.<class> (Bitbake rev: 4b2a268ce8dad63d21619c1b9acc1de86d222d93) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Why is bb/__init__.py importing bb?Chris Larson2010-03-251-1/+2
| | | | | | | (Bitbake rev: 3eb01a20cbbb2e7a2f6278089bcc9bb70021738f) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* data_smart: be explicit about what we make available to eval'd python codeChris Larson2010-03-251-2/+7
| | | | | | | (Bitbake rev: 6a73dda60f50e9b3e5513795d1ec7207d1446de2) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Fix 7 references to undefined variables, as spotted by pyflakesChris Larson2010-03-254-8/+7
| | | | | | | (Bitbake rev: e1e4ccf203e38070eeafd31a622671996cff61a1) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bb.utils: remove old portage remnantsChris Larson2010-03-252-588/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The following utility functions were removed. Note that in this particular case we're bypassing a proper deprecation process, as these functions are clearly not utilized, are obvious remnants of old ways of doing things, and some of which do not even function properly. - tokenize - evaluate - flatten - relparse - ververify - isjustname - isspecific - catpkgsplit - pkgsplit - pkgcmp - dep_parenreduce - dep_opconvert (Bitbake rev: 62983ad9b151ee8d51e8cf9a31c736c7813edf16) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bb.utils: utilize string.letters and string.digitsChris Larson2010-03-251-5/+3
| | | | | | | (Bitbake rev: 7af05cba87ec9f3ea5e53689b3d9f0a63784d1b5) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bb.which: fix broken direction/reverse argumentChris Larson2010-03-251-1/+1
| | | | | | | (Bitbake rev: 4725d83f532cad96168aa9affdedb33b6fc897b7) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* crumbs: fix hassattr typoChris Larson2010-03-251-1/+1
| | | | | | | (Bitbake rev: 5593de13a18792e36d15dfd2a9579b36284e4d67) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Implement BBVERSIONSChris Larson2010-03-253-29/+121
| | | | | | | | | | | | | | | | | | | | | | | | This implements a feature similar to BBCLASSEXTEND, but for generating multiple versions of a given recipe. For example: BBVERSIONS = "1.0 2.0 git". In addition to the above, one can utilize [a-b] style patterns, and can have a :<basever> postfix, which allows you to essentially name the range of versions. Both the current version and the basever end up in OVERRIDES, and the basever gets placed into the BPV variable. The default BPV, if none is specified, is the original PV of the recipe, before bbversions processing. In this way, you can do things like: BBVERSIONS = "1.0.[0-6]:1.0.0+ 1.0.[7-9]:1.0.7+" SRC_URI_append_1.0.7+ = "file://some_extra_patch.patch;patch=1" Or you can create a recipe per range, and name the recipe file as such: nano_1.0.7+.bb. (Bitbake rev: 4ee9a56e16f1eb3c1649eaa3127b09ab0e93d1ec) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Expand PREMIRRORSEnrico Scholz2010-03-251-1/+1
| | | | | | | | | | | | When not expanding PREMIRRORS, the functions fails/does not work correctly when PREMIRRORS is not a plain string (e.g. contains ${...} or a ${@...} statements). (Bitbake rev: d612d22b073f68b8cf1bb7344e0487820040d80d) Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* utils: improve wording of error messageBernhard Reutner-Fischer2010-03-251-1/+1
| | | | | | | | (Bitbake rev: b2486ec57c6a7adf09d0960fdf6727881b324d2f) Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Gross hack to fix packaged-staging with BBCLASSEXTEND packagesRichard Purdie2010-03-231-0/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/cooker.py: Add support for a bblayers.conf fileRichard Purdie2010-03-221-8/+25
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/providers: Fix merge errorRichard Purdie2010-03-221-3/+3
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* cooker: bail out early if no files to buildBernhard Reutner-Fischer2010-03-221-1/+2
| | | | | | | | | | | | | | | | | | | This prevents a misleading backtrace: ERROR: no files to build. Command execution failed: Traceback (most recent call last): File ".../bitbake/build/lib/bb/command.py", line 83, in runAsyncCommand self.cooker.updateCache() File ".../bitbake/build/lib/bb/cooker.py", line 779, in updateCache if not self.parser.parse_next(): File ".../bitbake/build/lib/bb/cooker.py", line 969, in parse_next cooker.bb_cache.sync() UnboundLocalError: local variable 'cooker' referenced before assignment (Bitbake rev: 060ef3d957615b7eb1209dc0d01ebeb53f8c4edc) Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Fix issues with BBCLASSEXTEND set by anonymous python, and rename some ↵Chris Larson2010-03-221-14/+16
| | | | | | | | | variables to improve code clarity (Bitbake rev: 3062e96181fe845cfd286990b0216888ddd3d228) Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Implement ??= operatorChris Larson2010-03-222-1/+12
| | | | | | | | | | | | | | | | | ??= is a lazy, conditional assignment. Whereas a ?= immediately assigns to the variable if the variable has not yet been set, ??= does not apply the default assignment until the end of the parse. As a result, the final ??= for a given variable is used, as opposed to the first as in ?=. Note that the initial implementation relies upon finalise() to apply the defaults, so a "bitbake -e" without specifying a recipe will not show the defaults as set by ??=. Moving application of the default into getVar adds too large a performance hit. We may want to revisit this later. (Bitbake rev: 74f50fbca194c9c72bd2a540f4b9de458cb08e2d) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Avoid unnecessary calls to keys() when iterating over dictionaries.Chris Larson2010-03-226-30/+21
| | | | | | | | | | | | | | | | | | dict objects provide an __iter__ method for the iteration which gives you the keys, so calling keys directly is unnecessary, and isn't really a best practice. The only time you really need to call the keys is if there's a danger of the dict changing out from underneith you, either due to external forces or due to modification of the iterable in the loop. Iterations over os.environ are apparently subject to such changes, so they must continue to use keys(). As an aside, also switches a couple spots to using sorted() rather than creating a temporary list with keys() and sorting that. (Bitbake rev: 5b6ccb16c6e71e23dac6920cd2df994d67c2587b) Signed-off-by: Chris Larson <clarson@mvista.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* knotty: tweak failure phraseBernhard Reutner-Fischer2010-03-221-1/+1
| | | | | | | | | | ..to make copy and paste of the logfile easier. (Bitbake rev: 446cc0cebd4daff7f849717f4cb89ac1b4c6b755) Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Fix ud.basecmd error introduced by the FETCHCMD_git commitChris Larson2010-03-221-1/+2
| | | | | | | (Bitbake rev: 0bbcbe3548f39ca46c5aa3bf1a8681026e51cbf0) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Add initial 'repo' fetcherTom Rini2010-03-222-0/+108
| | | | | | | | (Bitbake rev: f68406e864c9837feb56cbec993b620481445cc2) Signed-off-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Re-getVar BBCLASSEXTEND after finalise()Chris Larson2010-03-221-3/+2
| | | | | | | | | | This ensures that an anonymous python function is able to manipulate the BBCLASSEXTEND contents, and, therefore, amend.inc files are able to add to it. (Bitbake rev: c7d038d404afaf4ce3735af5134163759da6f6ef) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Error early if BBPATH is unset, rather than falling back to share/bitbakeChris Larson2010-03-221-5/+1
| | | | | | | | | | Better to error as early as possible rather than experience strange behavior resulting from the use of the largely useless stock bitbake.conf/base.bbclass. (Bitbake rev: 641e6cf3ec3ab4d26929cf4d2a3704ff07eed4d6) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Kill unused projectdir in bb package.Chris Larson2010-03-221-12/+1
| | | | | | | (Bitbake rev: 79b93e6929c5feeb1ad05bd17f589c69f00b77f6) Signed-off-by: Chris Larson <clarson@mvista.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Fix msg usage in the moved utility functions.Chris Larson2010-03-221-15/+15
| | | | | | | (Bitbake rev: 686288444d22091dee66e20ec49b9c53f8c980b7) Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Move most utility functions from bb into bb.utils.Chris Larson2010-03-222-909/+764
| | | | | | | (Bitbake rev: ff720ec59b30671c951dbf3b96df10ef56b8b505) Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Move compat imports in the bb package to avoid circular dep issues.Chris Larson2010-03-221-5/+4
| | | | | | | (Bitbake rev: b66c129edc7d78fed9d41b0c634744ec81931b21) Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Move encodeurl, decodeurl into bb.fetch.Chris Larson2010-03-222-108/+95
| | | | | | | (Bitbake rev: 867d36f9afce2d298874ac7563e5b3852ef04659) Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Move MalformedUrl, VarExpandError into appropriate modules.Chris Larson2010-03-223-5/+9
| | | | | | | (Bitbake rev: e616483b237dafff7f90ba1c09e9ee7c383a2e47) Signed-off-by: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Add FETCHCMD parameter for gitMartyn Welch2010-03-221-10/+13
| | | | | | | | | | | | | | | The Git fetcher currently hardwires the git command to "git". Allow the path and any additional wrappers to the Git command to be provided via FETCHCMD functionality, as with some of the other fetchers. If FETCHCMD_git is not define in bitbake.conf, the fetcher defaults to "git". (Bitbake rev: f3afb79ecac30d973a3c62ff6baf28d8b7388a24) Signed-off-by: Malcolm Crossley <malcolm.crossley@ge.com> Signed-off-by: Martyn Welch <martyn.welch@ge.com> Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake fetch/__init__.py: Failing urls should raise errors, not fatal ↵Richard Purdie2010-03-151-1/+1
| | | | | | exceptions Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>