When extracting linux-yocto kernel source, we don't need to dance around shutting down and starting up tinfoil anymore, we can just execute the tasks as needed. This allows us to tidy up the code structure a bit.
Signed-off-by: Paul Eggleton <paul.eggle...@linux.intel.com> --- scripts/lib/devtool/standard.py | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 008cfa3..b1cc23d 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -371,7 +371,7 @@ def extract(args, config, basepath, workspace): """Entry point for the devtool 'extract' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -395,7 +395,7 @@ def sync(args, config, basepath, workspace): """Entry point for the devtool 'sync' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -416,29 +416,6 @@ def sync(args, config, basepath, workspace): tinfoil.shutdown() -def _prep_extract_operation(config, basepath, recipename, tinfoil=None): - """HACK: Ugly workaround for making sure that requirements are met when - trying to extract a package. Returns the tinfoil instance to be used.""" - if not tinfoil: - tinfoil = setup_tinfoil(basepath=basepath) - - rd = parse_recipe(config, tinfoil, recipename, True) - if not rd: - tinfoil.shutdown() - return None - - if bb.data.inherits_class('kernel-yocto', rd): - tinfoil.shutdown() - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, - 'bitbake kern-tools-native') - tinfoil = setup_tinfoil(basepath=basepath) - except bb.process.ExecutionError as err: - raise DevtoolError("Failed to build kern-tools-native:\n%s" % - err.stdout) - return tinfoil - - def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): """Extract sources of a recipe""" import oe.recipeutils @@ -463,6 +440,9 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): raise DevtoolError("The %s recipe has do_unpack disabled, unable to " "extract source" % pn, 4) + if bb.data.inherits_class('kernel-yocto', d): + tinfoil.build_targets('kern-tools-native') + if not sync: # Prepare for shutil.move later on bb.utils.mkdirhier(srctree) @@ -761,13 +741,6 @@ def modify(args, config, basepath, workspace): raise DevtoolError("--no-extract specified and source path %s does " "not exist or is not a directory" % srctree) - if not args.no_extract: - tinfoil = _prep_extract_operation(config, basepath, pn, tinfoil) - if not tinfoil: - # Error already shown - return 1 - # We need to re-parse because tinfoil may have been re-initialised - rd = parse_recipe(config, tinfoil, args.recipename, True) recipefile = rd.getVar('FILE') appendfile = recipe_to_append(recipefile, config, args.wildcard) -- 2.9.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core