#
# 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")
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)
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)
# 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"