From d0857f4ae3f6e4de3c5258c43aa539b9680bbf25 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 11 Dec 2014 14:36:05 +0000 Subject: 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. (From OE-Core rev: 323f9ea99cff00a751e446286bf8bcf8756e4351) Signed-off-by: Richard Purdie --- meta/classes/sanity.bbclass | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'meta/classes/sanity.bbclass') 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)) -- cgit v1.2.3-54-g00ecf