summaryrefslogtreecommitdiffstats
path: root/scripts/lib/devtool/standard.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/devtool/standard.py')
-rw-r--r--scripts/lib/devtool/standard.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 2f8b194c5f..61c0df9b11 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -97,8 +97,12 @@ def add(args, config, basepath, workspace):
97 source = srctree 97 source = srctree
98 if args.version: 98 if args.version:
99 extracmdopts += ' -V %s' % args.version 99 extracmdopts += ' -V %s' % args.version
100 stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create -o %s "%s" %s' % (color, recipefile, source, extracmdopts)) 100 try:
101 logger.info('Recipe %s has been automatically created; further editing may be required to make it fully functional' % recipefile) 101 stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create -o %s "%s" %s' % (color, recipefile, source, extracmdopts))
102 logger.info('Recipe %s has been automatically created; further editing may be required to make it fully functional' % recipefile)
103 except bb.process.ExecutionError as e:
104 logger.error('Command \'%s\' failed:\n%s' % (e.command, e.stdout))
105 return 1
102 106
103 _add_md5(config, args.recipename, recipefile) 107 _add_md5(config, args.recipename, recipefile)
104 108
@@ -688,7 +692,7 @@ def status(args, config, basepath, workspace):
688 692
689def reset(args, config, basepath, workspace): 693def reset(args, config, basepath, workspace):
690 """Entry point for the devtool 'reset' subcommand""" 694 """Entry point for the devtool 'reset' subcommand"""
691 import bb.utils 695 import bb
692 if args.recipename: 696 if args.recipename:
693 if args.all: 697 if args.all:
694 logger.error("Recipe cannot be specified if -a/--all is used") 698 logger.error("Recipe cannot be specified if -a/--all is used")
@@ -708,7 +712,11 @@ def reset(args, config, basepath, workspace):
708 for pn in recipes: 712 for pn in recipes:
709 if not args.no_clean: 713 if not args.no_clean:
710 logger.info('Cleaning sysroot for recipe %s...' % pn) 714 logger.info('Cleaning sysroot for recipe %s...' % pn)
711 exec_build_env_command(config.init_path, basepath, 'bitbake -c clean %s' % pn) 715 try:
716 exec_build_env_command(config.init_path, basepath, 'bitbake -c clean %s' % pn)
717 except bb.process.ExecutionError as e:
718 logger.error('Command \'%s\' failed, output:\n%s\nIf you wish, you may specify -n/--no-clean to skip running this command when resetting' % (e.command, e.stdout))
719 return 1
712 720
713 _check_preserve(config, pn) 721 _check_preserve(config, pn)
714 722
@@ -735,7 +743,11 @@ def build(args, config, basepath, workspace):
735 logger.error("no recipe named %s in your workspace" % args.recipename) 743 logger.error("no recipe named %s in your workspace" % args.recipename)
736 return -1 744 return -1
737 build_task = config.get('Build', 'build_task', 'populate_sysroot') 745 build_task = config.get('Build', 'build_task', 'populate_sysroot')
738 exec_build_env_command(config.init_path, basepath, 'bitbake -c %s %s' % (build_task, args.recipename), watch=True) 746 try:
747 exec_build_env_command(config.init_path, basepath, 'bitbake -c %s %s' % (build_task, args.recipename), watch=True)
748 except bb.process.ExecutionError as e:
749 # We've already seen the output since watch=True, so just ensure we return something to the user
750 return e.exitcode
739 751
740 return 0 752 return 0
741 753