diff options
| -rw-r--r-- | meta/classes/sstate.bbclass | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index ec2c123b68..29f6b1c261 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
| @@ -346,27 +346,18 @@ def sstate_clean(ss, d): | |||
| 346 | CLEANFUNCS += "sstate_cleanall" | 346 | CLEANFUNCS += "sstate_cleanall" |
| 347 | 347 | ||
| 348 | python sstate_cleanall() { | 348 | python sstate_cleanall() { |
| 349 | import fnmatch | ||
| 350 | |||
| 351 | bb.note("Removing shared state for package %s" % d.getVar('PN', True)) | 349 | bb.note("Removing shared state for package %s" % d.getVar('PN', True)) |
| 352 | 350 | ||
| 353 | manifest_dir = d.getVar('SSTATE_MANIFESTS', True) | 351 | manifest_dir = d.getVar('SSTATE_MANIFESTS', True) |
| 354 | manifest_prefix = d.getVar("SSTATE_MANFILEPREFIX", True) | ||
| 355 | manifest_pattern = os.path.basename(manifest_prefix) + ".*" | ||
| 356 | |||
| 357 | if not os.path.exists(manifest_dir): | 352 | if not os.path.exists(manifest_dir): |
| 358 | return | 353 | return |
| 359 | 354 | ||
| 360 | for manifest in (os.listdir(manifest_dir)): | 355 | namemap = d.getVar('SSTATETASKNAMES', True).split() |
| 361 | if fnmatch.fnmatch(manifest, manifest_pattern): | 356 | tasks = d.getVar('SSTATETASKS', True).split() |
| 362 | name = manifest.replace(manifest_pattern[:-1], "") | 357 | for name in namemap: |
| 363 | namemap = d.getVar('SSTATETASKNAMES', True).split() | 358 | taskname = tasks[namemap.index(name)] |
| 364 | tasks = d.getVar('SSTATETASKS', True).split() | 359 | shared_state = sstate_state_fromvars(d, taskname[3:]) |
| 365 | if name not in namemap: | 360 | sstate_clean(shared_state, d) |
| 366 | continue | ||
| 367 | taskname = tasks[namemap.index(name)] | ||
| 368 | shared_state = sstate_state_fromvars(d, taskname[3:]) | ||
| 369 | sstate_clean(shared_state, d) | ||
| 370 | } | 361 | } |
| 371 | 362 | ||
| 372 | def sstate_hardcode_path(d): | 363 | def sstate_hardcode_path(d): |
