Signed-off-by: Alexander Kanavin <a...@linutronix.de>
---
 meta/classes/sanity.bbclass | 22 +++++++++++++++++++++-
 meta/conf/abi_version.conf  |  2 +-
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 773902e619..9dd829512a 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -559,6 +559,23 @@ def sanity_check_conffiles(d):
                 bb.fatal(str(e))
             d.setVar("BB_INVALIDCONF", True)
 
+def drop_v14_cross_builds(d):
+    i = d.expand("${SSTATE_MANIFESTS}/index-${BUILD_ARCH}_${TARGET_ARCH}")
+    with open(i, "r") as f:
+        lines = f.readlines()
+        for l in reversed(lines):
+            try:
+                (stamp, manifest, workdir) = l.split()
+            except ValueError:
+                bb.fatal("Invalid line '%s' in sstate manifest '%s'" % (l, i))
+            import glob
+            for m in glob.glob(manifest + ".*"):
+                if m.endswith(".postrm"):
+                    continue
+                sstate_clean_manifest(m, d)
+            bb.utils.remove(stamp + "*")
+            bb.utils.remove(workdir, recurse = True)
+
 def sanity_handle_abichanges(status, d):
     #
     # Check the 'ABI' of TMPDIR
@@ -577,7 +594,10 @@ def sanity_handle_abichanges(status, d):
             status.addresult("The layout of TMPDIR changed for Recipe Specific 
Sysroots.\nConversion doesn't make sense and this change will rebuild 
everything so please delete TMPDIR (%s).\n" % d.getVar("TMPDIR"))
         elif int(abi) <= 13 and current_abi == "14":
             status.addresult("TMPDIR changed to include path filtering from 
the pseudo database.\nIt is recommended to use a clean TMPDIR with the new 
pseudo path filtering so TMPDIR (%s) would need to be removed to continue.\n" % 
d.getVar("TMPDIR"))
-
+        elif int(abi) == 14 and current_abi == "15":
+            drop_v14_cross_builds(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 66df69bb8d..2a08b1208b 100644
--- a/meta/conf/abi_version.conf
+++ b/meta/conf/abi_version.conf
@@ -4,7 +4,7 @@
 # that breaks the format and have been previously discussed on the mailing 
list 
 # with general agreement from the core team.
 #
-OELAYOUT_ABI = "14"
+OELAYOUT_ABI = "15"
 
 #
 # HASHEQUIV_HASH_VERSION is injected into the output hash calculation used by
-- 
2.20.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#162410): 
https://lists.openembedded.org/g/openembedded-core/message/162410
Mute This Topic: https://lists.openembedded.org/mt/89396617/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to