summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/providers.py
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: Add BBHandledException exception classRichard Purdie2012-01-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | We have a problem knowing when to show the user debug information and when not to since the code has already shown the user suitable information about why a failure is occurring. This patch adds a bb.BBHandledException exception class which can be used to identify those exceptions which don't need further explanation to the user. This patch uses this class for the bb.providers exceptions and ensures the command handling code correctly filters the exceptions meaning that "bitbake invalid" now shows an simple error message and not a python traceback. [YOCTO #1141 partial] (Bitbake rev: eac9249b40ae1e3aa21e016010c862664e59a8d4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Update users of getVar/setVar to use the data store functions directlyRichard Purdie2011-11-271-4/+4
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/bb/providers: make "checking PREFERRED_PROVIDER_%s" a debug messageDenys Dmytriyenko2011-08-151-1/+1
| | | | | | | | | | | | | In verbose mode there are hundreds of these "checking PREFERRED_PROVIDER_%s" messages, cluttering the output and obscuring the more important resulting "selecting %s to satisfy runtime %s due to %s" messages. Individual "checking" lines are more suited for debug mode, similar to "sorted providers for %s are: %s", hence convert logger.verbose() to logger.debug(). (Bitbake rev: 85dfbec26abb5b944758f5c4749b7df16c0fb2e6) Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/providers: list PREFERRED_VERSION candidates when unavailablePaul Eggleton2011-07-271-0/+12
| | | | | | | | | | If the specified PREFERRED_VERSION is not available then list the available versions in the output. (PR is omitted.) (Bitbake rev: eea5ff9f34bb9b2e29f5fa43deb80d4aa6ef7ddc) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* providers.py: Correct PREFERRED_VERSION handlingRichard Purdie2011-06-011-2/+2
| | | | | | | | | | | | | | | | | Overrides on the right are the highest priority and in this case, pn-PN and PN should take priority over any other override so fix the code to do this. Also, since overrides will have been processed by bitbake, we shouldn't then be specifically looking up PREFERRED_VERSION_${PN} but just using PREFERRED_VERSION. This patch corrects the behaviours to match what the code is expected to do. (Bitbake rev: 606f1acc6fb8ccec45d6a52ed6ae6dc128011402) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/providers.py: Fix runtime providers problemsRichard Purdie2011-01-201-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Take a real world testcase where you have two recipes, each of which contains PACKAGES_DYNAMIC = "gdk-pixbuf-loaders-*" and recipes which RDEPEND on some gdk-pixbuf-loaders-xxx package. To select between these you need to set a PREFERRED_PROVIDER. These are specified in the PN namespace so the locgical conclusion is that setting PREFERRED_PROVIDER_gdk-pixbuf = "gtk+" should work. It doesn't and instead checks crazy things. The code was correctly finding the two possible providers, gtk+ and gdk-pixbuf. It was however only accepting PREFERRED_PROVIDER_gtk+ = "gdk-pixbuf" to resolve this problem which reads as the exact opposite to what was wanted. This patch changes the code to do something that makes sense. I suspect that before these changes it was pretty much a null operation rubber stamping the single provider case. For Poky at least it exposes a few cases where -nativesdk recipes were providing the same things as their normal counterparts but these are genuine bugs in the metadata. I've also attempted to make the multiple provider error message human readable as I counldn't understand it and I doubt anyone else could either. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Switch bitbake internals to use logging directly rather than bb.msgChris Larson2011-01-041-11/+14
| | | | | | | | | | | | | | We use a custom Logger subclass for our loggers This logger provides: - 'debug' method which accepts a debug level - 'plain' method which bypasses log formatting - 'verbose' method which is more detail than info, but less than debug (Bitbake rev: 3b2c1fe5ca56daebb24073a9dd45723d3efd2a8d) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Formatting cleanupsChris Larson2010-07-021-8/+8
| | | | | | | (Bitbake rev: 2caf134b43a44dad30af4fbe33033b3c58deee57) 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/providers: Fix merge errorRichard Purdie2010-03-221-3/+3
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Avoid unnecessary calls to keys() when iterating over dictionaries.Chris Larson2010-03-221-9/+5
| | | | | | | | | | | | | | | | | | 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>
* bitbake: Revert "providers.py: sort eligible providers by DEFAULT_PREFERENCE"Richard Purdie2010-02-161-2/+0
| | | | | | | | This breaks preferred providers functionality This reverts commit ee9afccf33b220a21b74fab279925eeb4771249b. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: providers.py: sort eligible providers by DEFAULT_PREFERENCEBernhard Reutner-Fischer2010-02-151-0/+2
| | | | | | | (Bitbake rev: ee9afccf33b220a21b74fab279925eeb4771249b) Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Switch to bitbake-dev version (bitbake master upstream)Richard Purdie2010-01-201-2/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Apply modified version of a patch from Martin Jansa ↵Richard Purdie2010-01-121-1/+13
| | | | | | <martin.jansa@gmail.com> to allow wildcards at the end of PREFERRED_VERSION strings Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Make sure regexp patterns are consistent in providers.pyRichard Purdie2009-07-231-2/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Add a cache around PACKAGES_DYNAMIC regexps to help performance a bitRichard Purdie2009-07-231-6/+13
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake providers.py: Fix message typo and improve debug infoRichard Purdie2008-10-061-2/+3
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5416 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake providers.py: Sync with upstreamRichard Purdie2008-09-031-1/+6
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5125 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake: Sync with 1.8 branchRichard Purdie2008-05-131-28/+0
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4463 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake: Sync with 1.8 branch upstream for PREFERRED_PROVIDERS message ↵Richard Purdie2008-05-041-1/+7
| | | | | | improvements and BB_STAMP_WHITELIST functionality git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4411 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake: providers.py: Fix perferred_version variable handlingRichard Purdie2007-10-211-1/+2
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2947 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake: Update to latest bitbake-1.8 branchRichard Purdie2007-09-021-21/+73
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2651 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake: Sync with upstream 1.8 branchRichard Purdie2007-08-151-2/+61
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2497 311d38ba-8fff-0310-9ca6-ca027cbcb966
* providers.py: Also add pn-PN syntax to overrides when evalutating ↵Richard Purdie2007-08-081-1/+1
| | | | | | PREFERRED_VERSION git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2416 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake: Update to 1.8.1 (inc. various bug fixes, epoch support)Richard Purdie2007-04-011-21/+26
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1419 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake: Sync with upstream. Richard Purdie2007-01-081-11/+10
| | | | | | | | | | | | | * File licence headers were sanitised causing most of the diff. * cooker.py was created from bin/bitbake. * cvs fetcher port option was added * The -f force option was fixed to work correctly * Multiple entries in rrecrdeps are now handled correctly (allows adding do_deploy to image depends) git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1129 311d38ba-8fff-0310-9ca6-ca027cbcb966
* bitbake: Upgrade from 1.4 -> 1.7.4ishRichard Purdie2006-11-161-0/+209
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@863 311d38ba-8fff-0310-9ca6-ca027cbcb966