diff options
| -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 |
