sanity.bbclass: version each of the files in the build/conf/ directory

We already have versioning of the local.conf file but it's entirely plausible
for the bblayers.conf and site.conf to change incompatibly so we should version
those too.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
This commit is contained in:
Joshua Lock 2010-06-07 16:10:48 +01:00
parent cab1009b08
commit c4a0b5463d
4 changed files with 27 additions and 5 deletions

View File

@ -1,3 +1,7 @@
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "1"
BBFILES ?= ""
BBLAYERS = " \
${OEROOT}/meta \

View File

@ -2,6 +2,9 @@
# local.conf covers user settings, site.conf covers site specific information
# such as proxy server addresses and optionally any shared download location
#
# SITE_CONF_VERSION is increased each time build/conf/site.conf
# changes incompatibly
SCONF_VERSION = "1"
# Uncomment to cause CVS to use the proxy host specified
#CVS_PROXY_HOST = "proxy.example.com"

View File

@ -54,12 +54,25 @@ def check_sanity(e):
if data.getVar('TARGET_OS', e.data, True) == 'INVALID':
messages = messages + 'Please set TARGET_OS directly, or choose a MACHINE or DISTRO that does so.\n'
# Check we are using a valid conf setup
current_conf = data.getVar('CONF_VERSION', e.data, True)
conf_version = data.getVar('POKY_CONF_VERSION', e.data, True)
# Check we are using a valid lacal.conf
current_conf = data.getVar('CONF_VERSION', e.data, True)
conf_version = data.getVar('POKY_CONF_VERSION', e.data, True)
if current_conf != conf_version:
messages = messages + "Poky has noticed your version of local.conf was generated from an older version of local.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/local.conf conf/local.conf.sample\" is a good way to visualise the changes"
messages = messages + "Poky has noticed your version of local.conf was generated from an older version of local.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/local.conf conf/local.conf.sample\" is a good way to visualise the changes.\n"
# Check bblayers.conf is valid
current_lconf = data.getVar('LCONF_VERSION', e.data, True)
lconf_version = data.getVar('LAYER_CONF_VERSION', e.data, True)
if current_lconf != lconf_version:
messages = messages + "Poky has noticed your version of bblayers.conf was generated from an older version of bblayers.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/bblayers.conf conf/bblayers.conf.sample\" is a good way to visualise the changes.\n"
# If we have a site.conf, check it's valid
if check_conf_exists("conf/site.conf", e.data):
current_sconf = data.getVar('SCONF_VERSION', e.data, True)
sconf_version = data.getVar('SITE_CONF_VERSION', e.data, True)
if current_sconf != sconf_version:
messages = messages + "Poky has noticed your version of site.conf was generated from an older version of site.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/site.conf conf/site.conf.sample\" is a good way to visualise the changes.\n"
assume_provided = data.getVar('ASSUME_PROVIDED', e.data , True).split()
# Check user doesn't have ASSUME_PROVIDED = instead of += in local.conf

View File

@ -7,7 +7,9 @@ BB_MIN_VERSION = "1.8.10"
SANITY_ABIFILE = "${TMPDIR}/abi_version"
POKY_CONF_VERSION = "1"
POKY_CONF_VERSION = "1"
LAYER_CONF_VERSION = "1"
SITE_CONF_VERSION = "1"
INHERIT += "sanity"