sstate: Allow sstate_clean_manifest to take a prefix

Manifest files containing the same duplicated prefix are wasteful on space
and ultimately this costs build time. Add support for manifest files with
common prefixes removed and use the prefix if the path isn't absolute.

(From OE-Core rev: 71e8c98238d627f9665faee9d7c226b9c07bd256)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2017-01-27 16:50:57 +00:00
parent ab0f46400c
commit a90c8817a5
1 changed files with 3 additions and 1 deletions

View File

@ -426,7 +426,7 @@ def sstate_clean_cachefiles(d):
ss = sstate_state_fromvars(ld, task)
sstate_clean_cachefile(ss, ld)
def sstate_clean_manifest(manifest, d):
def sstate_clean_manifest(manifest, d, prefix=None):
import oe.path
mfile = open(manifest)
@ -435,6 +435,8 @@ def sstate_clean_manifest(manifest, d):
for entry in entries:
entry = entry.strip()
if prefix and not entry.startswith("/"):
entry = prefix + "/" + entry
bb.debug(2, "Removing manifest: %s" % entry)
# We can race against another package populating directories as we're removing them
# so we ignore errors here.