[oe] [PATCH] base.bbclass: in base_contains, check for var existance before using it
Chris Larson
clarson at mvista.com
Fri Jan 15 17:36:58 UTC 2010
From: Brian Pomerantz <bapper at mvista.com>
When using base_contains() to check for a string in a variable for a,
if the variable is not defined an exception occurs. By checking the
existance of the variable and returning false if it isn't there,
a value can be checked for a variable regardless of whether or not it
is defined.
Signed-off-by: Brian Pomerantz <bapper at mvista.com>
Signed-off-by: Chris Larson <clarson at mvista.com>
---
classes/base.bbclass | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 384a67d..f67773a 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -226,14 +226,17 @@ def base_version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d):
return falsevalue
def base_contains(variable, checkvalues, truevalue, falsevalue, d):
+ val = bb.data.getVar(variable,d,1)
+ if not val:
+ return falsevalue
matches = 0
if type(checkvalues).__name__ == "str":
checkvalues = [checkvalues]
for value in checkvalues:
- if bb.data.getVar(variable,d,1).find(value) != -1:
+ if val.find(value) != -1:
matches = matches + 1
if matches == len(checkvalues):
- return truevalue
+ return truevalue
return falsevalue
def base_both_contain(variable1, variable2, checkvalue, d):
--
1.6.4.339.g527d
More information about the Openembedded-devel
mailing list