Fix for sanity handling of meta-yocto -> meta-poky
cover Fix for sanity handling of meta-yocto -> meta-poky
The code in sanity.bbclass to handle the transition from meta-yocto to meta-poky needs to be more resilient and not mistake meta-yocto-bsp for meta-yocto. It also needs to handle all occurrences of meta-yocto.
Even with the suggested change here the code still relies on that all layers in bblayers.conf are specified on separate lines...
//Peter
The following changes since commit 4006a7f2762ccd5dcbc6cdff49482d4387a73261:
sanity: Fix int verses string reference (2016-02-28 22:54:09 +0000)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib pkj/sanity-meta-poky
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pkj/sanity-meta-poky
Peter Kjellerstedt (1):
sanity: Do not mistake meta-yocto-bsp for meta-yocto
meta/classes/sanity.bbclass | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
Signature · 1 line
2.1.0
PATCH 1/1 sanity: Do not mistake meta-yocto-bsp for meta-yocto
The code in oecore_update_bblayers() handling the transition from meta-yocto to meta-poky was not very resilient. It would, e.g., mistake meta-yocto-bsp for meta-yocto if the former occurred before the latter in BBLAYERS.
The code also failed to update multiple existences of meta-yocto in the bblayers.conf file, e.g., if it was present in BBLAYERS_NON_REMOVABLE in addition to BBLAYERS (which it is by default).
--- meta/classes/sanity.bbclass | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
meta/classes/sanity.bbclass +12 -6
@@ -77,7 +77,7 @@ python oecore_update_bblayers() { lconf_version = int(d.getVar('LAYER_CONF_VERSION', True)) failmsg = """Your version of bblayers.conf has the wrong LCONF_VERSION (has %s, expecting %s). -Please compare the your file against bblayers.conf.sample and merge any changes before continuing. +Please compare your file against bblayers.conf.sample and merge any changes before continuing. "meld conf/bblayers.conf ${COREBASE}/meta*/conf/bblayers.conf.sample" is a good way to visualise the changes.""" % (current_lconf, lconf_version)
@@ -132,12 +132,18 @@ is a good way to visualise the changes.""" % (current_lconf, lconf_version) # Handle rename of meta-yocto -> meta-poky # This marks the start of separate version numbers but code is needed in OE-Core # for the migration, one last time. - layers = d.getVar('BBLAYERS', True) + layers = d.getVar('BBLAYERS', True).split() + layers = [ os.path.basename(path) for path in layers ] if 'meta-yocto' in layers: - index, meta_yocto_line = sanity_conf_find_line('.*meta-yocto.*\n', lines) - if meta_yocto_line: - lines[index] = meta_yocto_line.replace('meta-yocto', 'meta-poky') - else: + found = False + while True: + index, meta_yocto_line = sanity_conf_find_line(r'.*meta-yocto[\'"\s\n]', lines) + if meta_yocto_line: + lines[index] = meta_yocto_line.replace('meta-yocto', 'meta-poky') + found = True + else: + break + if not found: raise NotImplementedError(failmsg) index, meta_yocto_line = sanity_conf_find_line('LCONF_VERSION.*\n', lines) if meta_yocto_line:
Signature · 1 line
2.1.0