From 27ad9cac7b1dc14da3b4e27e7cd8fa6149625273 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Fri, 12 Apr 2013 21:22:49 +0100 Subject: [PATCH] classes/poky-sanity: fix handling of bblayers.conf updating * Update for new structure in sanity.bbclass - use a separate function to update bblayers.conf and add it to the list to be executed * Additionally, don't add meta-yocto-bsp if it's already in BBLAYERS (this can occur when switching between DISTRO = "" or other distros which use a LAYER_CONF_VERSION = "5" and DISTRO = "poky" which has LAYER_CONF_VERSION = "6") (From meta-yocto rev: 94b98b4868bfa6f9cb7d9a9f1d62c63665214c32) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta-yocto/classes/poky-sanity.bbclass | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/meta-yocto/classes/poky-sanity.bbclass b/meta-yocto/classes/poky-sanity.bbclass index 1c7514fdca..fff08b3a8a 100644 --- a/meta-yocto/classes/poky-sanity.bbclass +++ b/meta-yocto/classes/poky-sanity.bbclass @@ -1,16 +1,24 @@ -python check_bblayers_conf_append() { - if current_lconf != lconf_version: - if current_lconf == 5: - index, meta_yocto_line = find_line('meta-yocto\s*\\\\\\n', lines) +python poky_update_bblayersconf() { + current_version = int(d.getVar('LCONF_VERSION', True) or -1) + latest_version = int(d.getVar('LAYER_CONF_VERSION', True) or -1) + + bblayers_fn = bblayers_conf_file(d) + lines = sanity_conf_read(bblayers_fn) + + if current_version == 5 and latest_version == 6: + if '/meta-yocto-bsp' not in d.getVar('BBLAYERS', True): + index, meta_yocto_line = sanity_conf_find_line('meta-yocto\s*\\\\\\n', lines) if meta_yocto_line: lines.insert(index + 1, meta_yocto_line.replace('meta-yocto', 'meta-yocto-bsp')) else: sys.exit() - index, line = find_line('LCONF_VERSION', lines) - current_lconf += 1 - lines[index] = 'LCONF_VERSION = "%d"\n' % current_lconf - with open(bblayers_fn, "w") as f: - f.write(''.join(lines)) + current_version += 1 + sanity_conf_update(bblayers_fn, lines, 'LCONF_VERSION', current_version) + return + + sys.exit() } + +BBLAYERS_CONF_UPDATE_FUNCS += "poky_update_bblayersconf"