[OE-core] [PATCH] utils.bbclass: skip empty paths when handling FILESEXTRAPATHS
Chris Larson
clarson at kergoth.com
Fri Aug 19 22:11:08 UTC 2011
On Fri, Aug 19, 2011 at 5:16 AM, <martin.jansa at gmail.com> wrote:
> From: Martin Jansa <Martin.Jansa at gmail.com>
>
> * if there is multiple .bbappend files with FILESEXTRAPATHS_prepend := "/:"
> then the one parsed last is causing trailing ':' and that's causing empty element in
> path = extrapaths.split(:) + path
> * it's hard to keep all .bbappends from foreign layers to follow this rule, so it's better
> to be able to handle trailing ':'
>
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
> meta/classes/utils.bbclass | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass
> index 56abdd8..3c2e342 100644
> --- a/meta/classes/utils.bbclass
> +++ b/meta/classes/utils.bbclass
> @@ -338,8 +338,9 @@ def base_set_filespath(path, d):
> # The ":" ensures we have an 'empty' override
> overrides = (bb.data.getVar("OVERRIDES", d, 1) or "") + ":"
> for p in path:
> - for o in overrides.split(":"):
> - filespath.append(os.path.join(p, o))
> + if p != "":
> + for o in overrides.split(":"):
> + filespath.append(os.path.join(p, o))
You shouldn't use 'p != "":'. Instead, use the fact that the empty
string is false in boolean context. 'if p:'.
Of course, you could also use filter. path = filter(None, path) --
filtering an iterable with a function of None results in it dropping
all false values. But then, there's a tendency nowadays to avoid
map/filter/etc, so that's probably not best :)
--
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
More information about the Openembedded-core
mailing list