From 2a8dd808adeef0efed679f04f2310cb9bf36827e Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Wed, 4 Apr 2018 17:01:41 +1200 Subject: classes/externalsrc: handle if cleandirs contains python expressions Use the existing oe.recipeutils.split_var_value() function to split the unexpanded value of the cleandirs varflag, in case it contains python expressions - we don't want to split the expression itself as the chunks will not expand properly individually and we can miss something that expands to the source tree (and thus it can get deleted, the avoidance of which is the whole point of this code). Signed-off-by: Paul Eggleton --- meta/classes/externalsrc.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass index 3f1d39689b..ce8517c58b 100644 --- a/meta/classes/externalsrc.bbclass +++ b/meta/classes/externalsrc.bbclass @@ -53,6 +53,8 @@ python () { d.setVar('BB_DONT_CACHE', '1') if externalsrc: + import oe.recipeutils + d.setVar('S', externalsrc) if externalsrcbuild: d.setVar('B', externalsrcbuild) @@ -85,7 +87,7 @@ python () { d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock") # We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean) - cleandirs = (d.getVarFlag(task, 'cleandirs', False) or '').split() + cleandirs = oe.recipeutils.split_var_value(d.getVarFlag(task, 'cleandirs', False) or '') setvalue = False for cleandir in cleandirs[:]: if d.expand(cleandir) == externalsrc: -- cgit 1.2.3-korg