summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-poky/classes/poky-sanity.bbclass42
-rw-r--r--meta-poky/conf/bblayers.conf.sample2
-rw-r--r--meta-poky/conf/layer.conf2
3 files changed, 40 insertions, 6 deletions
diff --git a/meta-poky/classes/poky-sanity.bbclass b/meta-poky/classes/poky-sanity.bbclass
index 287a9e37d6..81cd2eb6a6 100644
--- a/meta-poky/classes/poky-sanity.bbclass
+++ b/meta-poky/classes/poky-sanity.bbclass
@@ -3,10 +3,44 @@
python poky_update_bblayersconf() {
current_version = int(d.getVar('POKY_BBLAYERS_CONF_VERSION', True) or -1)
latest_version = int(d.getVar('REQUIRED_POKY_BBLAYERS_CONF_VERSION', True) or -1)
+ if current_version == -1 or latest_version == -1:
+ # one or the other missing => malformed configuration
+ raise NotImplementedError("You need to update bblayers.conf manually for this version transition")
- # No version transitions here yet
- raise NotImplementedError("You need to update bblayers.conf manually for this version transision")
+ success = True
+
+ # check for out of date templateconf.cfg file
+ lines = []
+ fn = os.path.join(d.getVar('TOPDIR', True), 'conf/templateconf.cfg')
+
+ lines = sanity_conf_read(fn)
+ index, meta_yocto_line = sanity_conf_find_line(r'^meta-yocto/', lines)
+ if meta_yocto_line:
+ lines[index] = meta_yocto_line.replace('meta-yocto', 'meta-poky')
+ with open(fn, "w") as f:
+ f.write(''.join(lines))
+ bb.note("Your conf/templateconf.cfg file was updated from meta-yocto to meta-poky")
+
+ # add any additional layer checks/changes here
+
+ if success:
+ current_version = latest_version
+ bblayers_fn = bblayers_conf_file(d)
+ lines = sanity_conf_read(bblayers_fn)
+ # sanity_conf_update() will erroneously find a match when the var name
+ # is used in a comment, so do our own here. The code below can be
+ # removed when sanity_conf_update() is fixed in OE-Core.
+ #sanity_conf_update(bblayers_fn, lines, 'POKY_BBLAYERS_CONF_VERSION', current_version)
+ index, line = sanity_conf_find_line(r'^POKY_BBLAYERS_CONF_VERSION', lines)
+ lines[index] = 'POKY_BBLAYERS_CONF_VERSION = "%d"\n' % current_version
+ with open(bblayers_fn, "w") as f:
+ f.write(''.join(lines))
+ bb.note("Your conf/bblayers.conf has been automatically updated.")
+ if success:
+ return
+
+ raise NotImplementedError("You need to update bblayers.conf manually for this version transition")
}
-# Prepend to ensure our function runs before the OE-Core one
-BBLAYERS_CONF_UPDATE_FUNCS =+ "conf/bblayers.conf:POKY_BBLAYERS_CONF_VERSION:REQUIRED_POKY_BBLAYERS_CONF_VERSION:poky_update_bblayersconf"
+# ensure our function runs after the OE-Core one
+BBLAYERS_CONF_UPDATE_FUNCS += "conf/bblayers.conf:POKY_BBLAYERS_CONF_VERSION:REQUIRED_POKY_BBLAYERS_CONF_VERSION:poky_update_bblayersconf"
diff --git a/meta-poky/conf/bblayers.conf.sample b/meta-poky/conf/bblayers.conf.sample
index a371994437..8b1cbdfc5c 100644
--- a/meta-poky/conf/bblayers.conf.sample
+++ b/meta-poky/conf/bblayers.conf.sample
@@ -1,6 +1,6 @@
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
-POKY_BBLAYERS_CONF_VERSION = "1"
+POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
diff --git a/meta-poky/conf/layer.conf b/meta-poky/conf/layer.conf
index b5ffd9e686..8b7b33d48c 100644
--- a/meta-poky/conf/layer.conf
+++ b/meta-poky/conf/layer.conf
@@ -15,4 +15,4 @@ LAYERVERSION_yocto = "3"
LAYERDEPENDS_yocto = "core"
-REQUIRED_POKY_BBLAYERS_CONF_VERSION = "1"
+REQUIRED_POKY_BBLAYERS_CONF_VERSION = "2"