diff options
| -rwxr-xr-x | scripts/devtool | 12 | ||||
| -rw-r--r-- | scripts/lib/devtool/standard.py | 19 |
2 files changed, 15 insertions, 16 deletions
diff --git a/scripts/devtool b/scripts/devtool index bda05e1c2f..2d57da0bc1 100755 --- a/scripts/devtool +++ b/scripts/devtool | |||
| @@ -112,8 +112,18 @@ def read_workspace(): | |||
| 112 | res = externalsrc_re.match(line.rstrip()) | 112 | res = externalsrc_re.match(line.rstrip()) |
| 113 | if res: | 113 | if res: |
| 114 | pn = res.group(2) or os.path.splitext(os.path.basename(fn))[0].split('_')[0] | 114 | pn = res.group(2) or os.path.splitext(os.path.basename(fn))[0].split('_')[0] |
| 115 | # Find the recipe file within the workspace, if any | ||
| 116 | bbfile = os.path.basename(fn).replace('.bbappend', '.bb').replace('%', '*') | ||
| 117 | recipefile = glob.glob(os.path.join(config.workspace_path, | ||
| 118 | 'recipes', | ||
| 119 | pn, | ||
| 120 | bbfile)) | ||
| 121 | if recipefile: | ||
| 122 | recipefile = recipefile[0] | ||
| 115 | workspace[pn] = {'srctree': res.group(3), | 123 | workspace[pn] = {'srctree': res.group(3), |
| 116 | 'bbappend': fn} | 124 | 'bbappend': fn, |
| 125 | 'recipefile': recipefile} | ||
| 126 | logger.debug('Found recipe %s' % workspace[pn]) | ||
| 117 | 127 | ||
| 118 | def create_workspace(args, config, basepath, workspace): | 128 | def create_workspace(args, config, basepath, workspace): |
| 119 | if args.layerpath: | 129 | if args.layerpath: |
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 7ef0ab8c64..e26ce5a6fb 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py | |||
| @@ -1171,13 +1171,9 @@ def status(args, config, basepath, workspace): | |||
| 1171 | """Entry point for the devtool 'status' subcommand""" | 1171 | """Entry point for the devtool 'status' subcommand""" |
| 1172 | if workspace: | 1172 | if workspace: |
| 1173 | for recipe, value in workspace.iteritems(): | 1173 | for recipe, value in workspace.iteritems(): |
| 1174 | bbfile = os.path.basename(value['bbappend']).replace('.bbappend', '.bb').replace('%', '*') | 1174 | recipefile = value['recipefile'] |
| 1175 | recipefile = glob.glob(os.path.join(config.workspace_path, | ||
| 1176 | 'recipes', | ||
| 1177 | recipe, | ||
| 1178 | bbfile)) | ||
| 1179 | if recipefile: | 1175 | if recipefile: |
| 1180 | recipestr = ' (%s)' % recipefile[0] | 1176 | recipestr = ' (%s)' % recipefile |
| 1181 | else: | 1177 | else: |
| 1182 | recipestr = '' | 1178 | recipestr = '' |
| 1183 | print("%s: %s%s" % (recipe, value['srctree'], recipestr)) | 1179 | print("%s: %s%s" % (recipe, value['srctree'], recipestr)) |
| @@ -1261,15 +1257,8 @@ def edit_recipe(args, config, basepath, workspace): | |||
| 1261 | tinfoil.shutdown() | 1257 | tinfoil.shutdown() |
| 1262 | else: | 1258 | else: |
| 1263 | check_workspace_recipe(workspace, args.recipename) | 1259 | check_workspace_recipe(workspace, args.recipename) |
| 1264 | bbappend = workspace[args.recipename]['bbappend'] | 1260 | recipefile = workspace[args.recipename]['recipefile'] |
| 1265 | bbfile = os.path.basename(bbappend).replace('.bbappend', '.bb').replace('%', '*') | 1261 | if not recipefile: |
| 1266 | recipefile = glob.glob(os.path.join(config.workspace_path, | ||
| 1267 | 'recipes', | ||
| 1268 | args.recipename, | ||
| 1269 | bbfile)) | ||
| 1270 | if recipefile: | ||
| 1271 | recipefile = recipefile[0] | ||
| 1272 | else: | ||
| 1273 | raise DevtoolError("Recipe file for %s is not under the workspace" % | 1262 | raise DevtoolError("Recipe file for %s is not under the workspace" % |
| 1274 | args.recipename) | 1263 | args.recipename) |
| 1275 | 1264 | ||
