From: Darren Hart <[email protected]>

Fixes [YOCTO 1102]

Path variables are typically : delimited. White space is allowed in paths, so
is not a good choice for separating paths. Currently utils.bbclass performs the
following:

    extrapaths = (bb.data.getVar("FILESEXTRAPATHS", d, True) or "").split()

This splits FILESEXTRAPATHS on whitespace. It later splits overrides on : and
reassembles them all together as : delimited.

There is only one user of FILESEXTRAPATHS in oe-core (qt4-tools-native, which
uses : anyway) and none in oe.

Change the split() in utils.bbclass to split on : instead of whitespace. When
splitting on a defined string (":") we must be careful to handle the empty
string case which returns [''] instead of [].

Tested building qt4-tools-native and core-image-minimal for surgarbay from
meta-intel with a couple extra layers with FILESEXTRAPATHS modifications added.

Signed-off-by: Darren Hart <[email protected]>
Cc: Phil Blundell <[email protected]>
---
 meta/classes/utils.bbclass |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass
index e103351..9930a24 100644
--- a/meta/classes/utils.bbclass
+++ b/meta/classes/utils.bbclass
@@ -331,8 +331,10 @@ def explode_deps(s):
 
 def base_set_filespath(path, d):
        filespath = []
-       extrapaths = (bb.data.getVar("FILESEXTRAPATHS", d, True) or "").split()
-       path = extrapaths + path
+       extrapaths = (bb.data.getVar("FILESEXTRAPATHS", d, True) or "")
+       # Don't prepend empty strings to the path list
+       if extrapaths != "":
+               path = extrapaths.split(":") + path
        # The ":" ensures we have an 'empty' override
        overrides = (bb.data.getVar("OVERRIDES", d, 1) or "") + ":"
        for p in path:
-- 
1.7.3.4


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to