sanity.bbclass: Move back to running at ConfigParsed time

If we don't do this, users can get extremely confused errors since the sanity tests
happen too late (after parsing) and don't see the warnings.

Also cleanup messages about merging configuration file changes to give better
hints at where the updated files may be.

(From OE-Core rev: 7b8a68cda7ef8186e834b39e73ee12a55b33f85b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2012-09-05 14:25:51 +00:00
parent 99c85ba930
commit 8d6ecfbe84
1 changed files with 5 additions and 5 deletions

View File

@ -333,20 +333,20 @@ def check_sanity(sanity_data):
conf_version = sanity_data.getVar('LOCALCONF_VERSION', True)
if current_conf != conf_version:
messages = messages + "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"
messages = messages + "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 ${COREBASE}/meta*/conf/local.conf.sample\" is a good way to visualise the changes.\n"
# Check bblayers.conf is valid
current_lconf = sanity_data.getVar('LCONF_VERSION', True)
lconf_version = sanity_data.getVar('LAYER_CONF_VERSION', True)
if current_lconf != lconf_version:
messages = messages + "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"
messages = messages + "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 ${COREBASE}/meta*/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", sanity_data):
current_sconf = sanity_data.getVar('SCONF_VERSION', True)
sconf_version = sanity_data.getVar('SITE_CONF_VERSION', True)
if current_sconf != sconf_version:
messages = messages + "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"
messages = messages + "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 ${COREBASE}/meta*/conf/site.conf.sample\" is a good way to visualise the changes.\n"
assume_provided = sanity_data.getVar('ASSUME_PROVIDED', True).split()
# Check user doesn't have ASSUME_PROVIDED = instead of += in local.conf
@ -556,7 +556,7 @@ def check_sanity(sanity_data):
messages = messages + "Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space."
if messages != "":
raise_sanity_error(messages, sanity_data)
raise_sanity_error(sanity_data.expand(messages), sanity_data)
# Create a copy of the datastore and finalise it to ensure appends and
# overrides are set - the datastore has yet to be finalised at ConfigParsed
@ -567,7 +567,7 @@ def copy_data(e):
addhandler check_sanity_eventhandler
python check_sanity_eventhandler() {
if bb.event.getName(e) == "BuildStarted" and e.data.getVar("BB_WORKERCONTEXT", True) != "1" and e.data.getVar("DISABLE_SANITY_CHECKS", True) != "1":
if bb.event.getName(e) == "ConfigParsed" and e.data.getVar("BB_WORKERCONTEXT", True) != "1" and e.data.getVar("DISABLE_SANITY_CHECKS", True) != "1":
sanity_data = copy_data(e)
check_sanity(sanity_data)
elif bb.event.getName(e) == "SanityCheck":