]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
sanity: Do not mistake meta-yocto-bsp for meta-yocto
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>
Mon, 29 Feb 2016 16:28:56 +0000 (17:28 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 2 Mar 2016 23:08:07 +0000 (23:08 +0000)
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).

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/sanity.bbclass

index cdb28995c615c6752c9c930e74f9181f9b0728b5..4873e64a79fdd851774c49f28b6691befcca823c 100644 (file)
@@ -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: