From 293c82baa454c5cb4d2ed00c2764e2c279cee6aa Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Thu, 14 May 2015 11:47:35 +0100 Subject: devtool: deploy-target: use tinfoil instead of bitbake -e Using tinfoil here is quicker and tidier than shelling out to bitbake -e and interpreting its output. (From OE-Core rev: 986ad99aee98dd5b7f30d59098dd9275097b8276) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/deploy.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/lib/devtool/deploy.py b/scripts/lib/devtool/deploy.py index 078c74b45d..92a3cb4cff 100644 --- a/scripts/lib/devtool/deploy.py +++ b/scripts/lib/devtool/deploy.py @@ -19,7 +19,7 @@ import os import subprocess import logging -from devtool import exec_build_env_command +from devtool import exec_build_env_command, setup_tinfoil logger = logging.getLogger('devtool') @@ -31,6 +31,7 @@ def plugin_init(pluginlist): def deploy(args, config, basepath, workspace): """Entry point for the devtool 'deploy' subcommand""" import re + import oe.recipeutils if not args.recipename in workspace: logger.error("no recipe named %s in your workspace" % args.recipename) @@ -45,8 +46,13 @@ def deploy(args, config, basepath, workspace): deploy_dir = os.path.join(basepath, 'target_deploy', args.target) deploy_file = os.path.join(deploy_dir, args.recipename + '.list') - stdout, _ = exec_build_env_command(config.init_path, basepath, 'bitbake -e %s' % args.recipename, shell=True) - recipe_outdir = re.search(r'^D="(.*)"', stdout, re.MULTILINE).group(1) + tinfoil = setup_tinfoil() + try: + rd = oe.recipeutils.parse_recipe_simple(tinfoil.cooker, args.recipename, tinfoil.config_data) + except Exception as e: + logger.error('Exception parsing recipe %s: %s' % (args.recipename, e)) + return 2 + recipe_outdir = rd.getVar('D', True) if not os.path.exists(recipe_outdir) or not os.listdir(recipe_outdir): logger.error('No files to deploy - have you built the %s recipe? If so, the install step has not installed any files.' % args.recipename) return -1 -- cgit v1.2.3-54-g00ecf