diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/externalsrc.bbclass | 18 |
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 |