summaryrefslogtreecommitdiffstats
path: root/meta-poky/classes
diff options
context:
space:
mode:
authorBill Randle <william.c.randle@intel.com>2016-03-21 11:24:48 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-26 07:34:59 +0000
commit54eca753082af7d4c44379f879945f449d4f56cf (patch)
tree595ea9735db3dfd1e46e3b3c22549b902c181eed /meta-poky/classes
parent2b992f3e5633e69fa53850d082ab68f3a4620f77 (diff)
downloadpoky-54eca753082af7d4c44379f879945f449d4f56cf.tar.gz
poky-sanity.bbclass: update conf/templateconf.cfg for existing installations
Updates of existing installations for the meta-yocto to meta-poky transition will update the bblayers.conf file, but not the templateconf.cfg file. This patch updates the template file to point to meta-poky/conf, if necessary. Fixes [YOCTO #9278] (From meta-yocto rev: e560e9b157fd53cccbe73659b44777715660f0b2) Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta-poky/classes')
-rw-r--r--meta-poky/classes/poky-sanity.bbclass42
1 files changed, 38 insertions, 4 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 @@
3python poky_update_bblayersconf() { 3python poky_update_bblayersconf() {
4 current_version = int(d.getVar('POKY_BBLAYERS_CONF_VERSION', True) or -1) 4 current_version = int(d.getVar('POKY_BBLAYERS_CONF_VERSION', True) or -1)
5 latest_version = int(d.getVar('REQUIRED_POKY_BBLAYERS_CONF_VERSION', True) or -1) 5 latest_version = int(d.getVar('REQUIRED_POKY_BBLAYERS_CONF_VERSION', True) or -1)
6 if current_version == -1 or latest_version == -1:
7 # one or the other missing => malformed configuration
8 raise NotImplementedError("You need to update bblayers.conf manually for this version transition")
6 9
7 # No version transitions here yet 10 success = True
8 raise NotImplementedError("You need to update bblayers.conf manually for this version transision") 11
12 # check for out of date templateconf.cfg file
13 lines = []
14 fn = os.path.join(d.getVar('TOPDIR', True), 'conf/templateconf.cfg')
15
16 lines = sanity_conf_read(fn)
17 index, meta_yocto_line = sanity_conf_find_line(r'^meta-yocto/', lines)
18 if meta_yocto_line:
19 lines[index] = meta_yocto_line.replace('meta-yocto', 'meta-poky')
20 with open(fn, "w") as f:
21 f.write(''.join(lines))
22 bb.note("Your conf/templateconf.cfg file was updated from meta-yocto to meta-poky")
23
24 # add any additional layer checks/changes here
25
26 if success:
27 current_version = latest_version
28 bblayers_fn = bblayers_conf_file(d)
29 lines = sanity_conf_read(bblayers_fn)
30 # sanity_conf_update() will erroneously find a match when the var name
31 # is used in a comment, so do our own here. The code below can be
32 # removed when sanity_conf_update() is fixed in OE-Core.
33 #sanity_conf_update(bblayers_fn, lines, 'POKY_BBLAYERS_CONF_VERSION', current_version)
34 index, line = sanity_conf_find_line(r'^POKY_BBLAYERS_CONF_VERSION', lines)
35 lines[index] = 'POKY_BBLAYERS_CONF_VERSION = "%d"\n' % current_version
36 with open(bblayers_fn, "w") as f:
37 f.write(''.join(lines))
38 bb.note("Your conf/bblayers.conf has been automatically updated.")
39 if success:
40 return
41
42 raise NotImplementedError("You need to update bblayers.conf manually for this version transition")
9} 43}
10 44
11# Prepend to ensure our function runs before the OE-Core one 45# ensure our function runs after the OE-Core one
12BBLAYERS_CONF_UPDATE_FUNCS =+ "conf/bblayers.conf:POKY_BBLAYERS_CONF_VERSION:REQUIRED_POKY_BBLAYERS_CONF_VERSION:poky_update_bblayersconf" 46BBLAYERS_CONF_UPDATE_FUNCS += "conf/bblayers.conf:POKY_BBLAYERS_CONF_VERSION:REQUIRED_POKY_BBLAYERS_CONF_VERSION:poky_update_bblayersconf"