From 677e8c8e97ec377c5919943a9ca7257787b6ab81 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 17 Aug 2015 11:10:13 +0100 Subject: devtool: fix handling of BBCLASSEXTENDed recipes If a recipe is BBCLASSEXTENDed (e.g. to -native), its PN value and the name of the bbappend will be different; we were assuming them to be the same when reading in the workspace, leading to us seeing the base recipe name everywhere afterwards. Also add a test so we ensure this doesn't regress in future. Fixes [YOCTO #8157]. (From OE-Core rev: b63fca00c2e24ad0c8b8b3c492d93ee4372fa92d) Signed-off-by: Paul Eggleton Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- scripts/devtool | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'scripts/devtool') diff --git a/scripts/devtool b/scripts/devtool index 1c2243812a..b9d3bb9e85 100755 --- a/scripts/devtool +++ b/scripts/devtool @@ -104,15 +104,15 @@ def read_workspace(): _enable_workspace_layer(config.workspace_path, config, basepath) logger.debug('Reading workspace in %s' % config.workspace_path) - externalsrc_re = re.compile(r'^EXTERNALSRC(_pn-[^ =]+)? =.*$') + externalsrc_re = re.compile(r'^EXTERNALSRC(_pn-([^ =]+))? *= *"([^"]*)"$') for fn in glob.glob(os.path.join(config.workspace_path, 'appends', '*.bbappend')): - pn = os.path.splitext(os.path.basename(fn))[0].split('_')[0] with open(fn, 'r') as f: for line in f: - if externalsrc_re.match(line.rstrip()): - splitval = line.split('=', 2) - workspace[pn] = splitval[1].strip('" \n\r\t') - break + res = externalsrc_re.match(line.rstrip()) + if res: + pn = res.group(2) or os.path.splitext(os.path.basename(fn))[0].split('_')[0] + workspace[pn] = {'srctree': res.group(3), + 'bbappend': fn} def create_workspace(args, config, basepath, workspace): if args.layerpath: -- cgit v1.2.3-54-g00ecf