summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/lib/devtool/deploy.py12
1 files 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 @@
19import os 19import os
20import subprocess 20import subprocess
21import logging 21import logging
22from devtool import exec_build_env_command 22from devtool import exec_build_env_command, setup_tinfoil
23 23
24logger = logging.getLogger('devtool') 24logger = logging.getLogger('devtool')
25 25
@@ -31,6 +31,7 @@ def plugin_init(pluginlist):
31def deploy(args, config, basepath, workspace): 31def deploy(args, config, basepath, workspace):
32 """Entry point for the devtool 'deploy' subcommand""" 32 """Entry point for the devtool 'deploy' subcommand"""
33 import re 33 import re
34 import oe.recipeutils
34 35
35 if not args.recipename in workspace: 36 if not args.recipename in workspace:
36 logger.error("no recipe named %s in your workspace" % args.recipename) 37 logger.error("no recipe named %s in your workspace" % args.recipename)
@@ -45,8 +46,13 @@ def deploy(args, config, basepath, workspace):
45 deploy_dir = os.path.join(basepath, 'target_deploy', args.target) 46 deploy_dir = os.path.join(basepath, 'target_deploy', args.target)
46 deploy_file = os.path.join(deploy_dir, args.recipename + '.list') 47 deploy_file = os.path.join(deploy_dir, args.recipename + '.list')
47 48
48 stdout, _ = exec_build_env_command(config.init_path, basepath, 'bitbake -e %s' % args.recipename, shell=True) 49 tinfoil = setup_tinfoil()
49 recipe_outdir = re.search(r'^D="(.*)"', stdout, re.MULTILINE).group(1) 50 try:
51 rd = oe.recipeutils.parse_recipe_simple(tinfoil.cooker, args.recipename, tinfoil.config_data)
52 except Exception as e:
53 logger.error('Exception parsing recipe %s: %s' % (args.recipename, e))
54 return 2
55 recipe_outdir = rd.getVar('D', True)
50 if not os.path.exists(recipe_outdir) or not os.listdir(recipe_outdir): 56 if not os.path.exists(recipe_outdir) or not os.listdir(recipe_outdir):
51 logger.error('No files to deploy - have you built the %s recipe? If so, the install step has not installed any files.' % args.recipename) 57 logger.error('No files to deploy - have you built the %s recipe? If so, the install step has not installed any files.' % args.recipename)
52 return -1 58 return -1