summaryrefslogtreecommitdiffstats
path: root/meta/classes/externalsrc.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/externalsrc.bbclass')
-rw-r--r--meta/classes/externalsrc.bbclass18
1 files changed, 7 insertions, 11 deletions
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 37c6320fca..0fa5817d9a 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -62,18 +62,14 @@ python () {
62 d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock") 62 d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock")
63 63
64 # We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean) 64 # We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean)
65 cleandirs = d.getVarFlag(task, 'cleandirs', False) 65 cleandirs = (d.getVarFlag(task, 'cleandirs', False) or '').split()
66 if cleandirs: 66 setvalue = False
67 cleandirs = cleandirs.split() 67 for cleandir in cleandirs[:]:
68 setvalue = False 68 if d.expand(cleandir) == externalsrc:
69 if '${S}' in cleandirs: 69 cleandirs.remove(cleandir)
70 cleandirs.remove('${S}')
71 setvalue = True 70 setvalue = True
72 if externalsrcbuild == externalsrc and '${B}' in cleandirs: 71 if setvalue:
73 cleandirs.remove('${B}') 72 d.setVarFlag(task, 'cleandirs', ' '.join(cleandirs))
74 setvalue = True
75 if setvalue:
76 d.setVarFlag(task, 'cleandirs', ' '.join(cleandirs))
77 73
78 fetch_tasks = ['do_fetch', 'do_unpack'] 74 fetch_tasks = ['do_fetch', 'do_unpack']
79 # If we deltask do_patch, there's no dependency to ensure do_unpack gets run, so add one 75 # If we deltask do_patch, there's no dependency to ensure do_unpack gets run, so add one