From 6f97a5881773a20ded15041b36c511881c9bc579 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 27 Oct 2008 18:46:51 +0000 Subject: [PATCH] classes/conf: Handle Distro PR change in sanity.bbclass This patch: * Moves the ABI variables into a new abi_version.conf (like Poky). * Renames SANITY_ABI to OELAYOUT_ABI since it has uses outside sanity.bbclass and sanity.conf. * Adds checks to sanity.bbclass so the user is notified when DISTRO_PR changes in a similar way to the OELAYOUT_ABI versions. --- classes/sanity.bbclass | 18 +++++++++++++++++- conf/bitbake.conf | 1 + conf/sanity.conf | 8 +------- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/classes/sanity.bbclass b/classes/sanity.bbclass index b925d05e18..c9effb5596 100644 --- a/classes/sanity.bbclass +++ b/classes/sanity.bbclass @@ -140,7 +140,7 @@ def check_sanity(e): # # Check the 'ABI' of TMPDIR # - current_abi = data.getVar('SANITY_ABI', e.data, True) + current_abi = data.getVar('OELAYOUT_ABI', e.data, True) abifile = data.getVar('SANITY_ABIFILE', e.data, True) if os.path.exists(abifile): f = file(abifile, "r") @@ -156,6 +156,22 @@ def check_sanity(e): f.write(current_abi) f.close() + # + # Check the Distro PR value didn't change + # + distro_pr = data.getVar('DISTRO_PR', e.data, True) + prfile = data.getVar('SANITY_PRFILE', e.data, True) + if os.path.exists(prfile): + f = file(prfile, "r") + pr = f.read().strip() + if (pr != distro_pr): + # Code to convert from one ABI to another could go here if possible. + messages = messages + "Error, DISTRO_PR has changed (%s to %s) which means all packages need to rebuild. Please remove your TMPDIR so this can happen. For autobuilder setups you can avoid this by using a TMPDIR that include DISTRO_PR in the path.\n" % (pr, distro_pr) + else: + f = file(prfile, "w") + f.write(distro_pr) + f.close() + if messages != "": raise_sanity_error(messages) diff --git a/conf/bitbake.conf b/conf/bitbake.conf index ab8fa9dcf2..6207e5be50 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -580,6 +580,7 @@ include conf/machine/${MACHINE}.conf include conf/distro/${DISTRO}.conf include conf/documentation.conf require conf/sanity.conf +require conf/abi_version.conf ################################################################## # Weak variables (usually to retain backwards compatibility) diff --git a/conf/sanity.conf b/conf/sanity.conf index e5fe74894d..d6ecfa6765 100644 --- a/conf/sanity.conf +++ b/conf/sanity.conf @@ -5,14 +5,8 @@ # Expert users can confirm their sanity with "touch conf/sanity.conf" BB_MIN_VERSION = "1.8.10" -# -# SANITY_ABI allows us to notify users when the format of TMPDIR changes in -# an incompatible way. Such changes should usually be detailed in the commit -# that breaks the format and have been previously discussed on the mailing list -# with general agreement from the core team. -# -SANITY_ABI = "2" SANITY_ABIFILE = "${TMPDIR}/abi_version" +SANITY_PRFILE = "${TMPDIR}/distro_pr" INHERIT += "sanity" -- 2.39.5