diff options
author | Bill Randle <william.c.randle@intel.com> | 2016-03-21 11:24:48 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-03-26 07:34:59 +0000 |
commit | 54eca753082af7d4c44379f879945f449d4f56cf (patch) | |
tree | 595ea9735db3dfd1e46e3b3c22549b902c181eed /meta-poky/classes | |
parent | 2b992f3e5633e69fa53850d082ab68f3a4620f77 (diff) | |
download | poky-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.bbclass | 42 |
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 @@ | |||
3 | python poky_update_bblayersconf() { | 3 | python 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 |
12 | BBLAYERS_CONF_UPDATE_FUNCS =+ "conf/bblayers.conf:POKY_BBLAYERS_CONF_VERSION:REQUIRED_POKY_BBLAYERS_CONF_VERSION:poky_update_bblayersconf" | 46 | BBLAYERS_CONF_UPDATE_FUNCS += "conf/bblayers.conf:POKY_BBLAYERS_CONF_VERSION:REQUIRED_POKY_BBLAYERS_CONF_VERSION:poky_update_bblayersconf" |