diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-12-11 14:36:05 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-12-20 11:24:04 +0000 |
commit | 323f9ea99cff00a751e446286bf8bcf8756e4351 (patch) | |
tree | 1a1fd02a8a1a4789fa9d5cdaac950de362d069eb /meta/classes/sanity.bbclass | |
parent | f79c9334f670ed6fce86047fbadb817af8d4fe14 (diff) | |
download | openembedded-core-323f9ea99cff00a751e446286bf8bcf8756e4351.tar.gz openembedded-core-323f9ea99cff00a751e446286bf8bcf8756e4351.tar.bz2 openembedded-core-323f9ea99cff00a751e446286bf8bcf8756e4351.zip |
sanity: TMPDIR ABI change for kernel process
The kernel source is being moved into the sysroot, to do this and
preserve previous builds, we need to change the TMPDIR ABI and
provide a function to uninstall all kernels from the sysroot.
This change adds code to do that and increases the ABI number.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/sanity.bbclass')
-rw-r--r-- | meta/classes/sanity.bbclass | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 5be5efb8a4..2f75558104 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -519,6 +519,16 @@ def sanity_handle_abichanges(status, d): status.addresult("Your configuration is using stamp files including the sstate hash but your build directory was built with stamp files that do not include this.\nTo continue, either rebuild or switch back to the OEBasic signature handler with BB_SIGNATURE_HANDLER = 'OEBasic'.\n") elif (abi != current_abi and current_abi == "9"): status.addresult("The layout of the TMPDIR STAMPS directory has changed. Please clean out TMPDIR and rebuild (sstate will be still be valid and reused)\n") + elif (abi != current_abi and current_abi == "10" and (abi == "8" or abi == "9")): + bb.note("Converting staging layout from version 8/9 to layout version 10") + cmd = d.expand("grep -r -l sysroot-providers/virtual_kernel ${SSTATE_MANIFESTS}") + ret, result = oe.utils.getstatusoutput(cmd) + result = result.split() + for f in result: + bb.note("Uninstalling manifest file %s" % f) + sstate_clean_manifest(f, d) + with open(abifile, "w") as f: + f.write(current_abi) elif (abi != current_abi): # Code to convert from one ABI to another could go here if possible. status.addresult("Error, TMPDIR has changed its layout version number (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi)) |