[oe-commits] Richard Purdie : sanity: TMPDIR ABI change for kernel process

git at git.openembedded.org git at git.openembedded.org
Fri Dec 19 18:09:10 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: 73b6a9ed65cf90f9209bddaeebe7873af86d86ba
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=73b6a9ed65cf90f9209bddaeebe7873af86d86ba

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Thu Dec 11 14:36:05 2014 +0000

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 at linuxfoundation.org>

---

 meta/classes/sanity.bbclass | 10 ++++++++++
 meta/conf/abi_version.conf  |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 5be5efb..2f75558 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))
diff --git a/meta/conf/abi_version.conf b/meta/conf/abi_version.conf
index e8cf9a3..2867850 100644
--- a/meta/conf/abi_version.conf
+++ b/meta/conf/abi_version.conf
@@ -4,4 +4,4 @@
 # that breaks the format and have been previously discussed on the mailing list 
 # with general agreement from the core team.
 #
-OELAYOUT_ABI = "9"
+OELAYOUT_ABI = "10"



More information about the Openembedded-commits mailing list